Создание проекта MonoGame для Visual Studio под платформу iOS

У всех разработчиков на MonoGame одна из главных целей — выпустить свою игру на максимальном количестве платформ. При этом затратить меньшее количество ресурсов, как на само разработку, так и поддержку игры в дальнейшем. Использование при разработке на все платформы одних и тех же инструментов, несомненно позволяет сэкономить не мало времени. А такая мощная среда, как Visual Studio, позволяет не только в одном месте вести разработку, но и в один клик переключаться между платформами. Но в текущей версии MonoGame официально поддержка Visual Studio при...

Читать далее

MonoGame — Tips & Tricks для Windows phone 8

Статья освещает не очевидные решения многих проблем возникающих при работе с MonoGame на Windows phone 8.   При использование SoundEffect на WP8 возникает ошибка TypeInitializationException В инсталлятор забыли положить файл SharpDX.WP8.winmd, поэтому придется компилировать библиотеку самим. Рекомендую собирать из  в ней уже исправлено множество багов, которые есть в основной ветке.   Падение приложения в WP8 при переключения на другое и обратно(Resume) Исправлено в    Определение разрешения экрана устройства...

Читать далее

Авторизация ВКонтакте Windows Phone

Модуль авторизации ВКонтакте имеет две функции: Получения токена для работы с VK API — Login Аннулирование токена — Logout Пример использования Скачать пример  Login 1 2 3 4 5 6 7 8 9 //инициализация var auth = new VKAuth(); auth.LoginCompleted += (token, userId) => MessageBox.Show(token); auth.ServerError += () => MessageBox.Show("error");   //задаем права доступ var scope = "offline, friends, wall"; //вызов auth.LoginAsync(this, AppID, scope); //инициализация var auth = new VKAuth(); auth.LoginCompleted += (token, userId) => MessageBox.Show(token); auth.ServerError += () => MessageBox.Show("error"); //задаем права доступ var scope = "offline, friends...

Читать далее

Зацикленный фон/Loopable Background (MonoGame/XNA)

Для имитации неба, дождя, дороги и других различных объектов на заднем фоне, можно использовать со всех сторон зацикленные текстуры(loopable texture). Ниже приведена реализация использования зацикленных текстур в качестве фона, который непрерывно двигаются снизу вверх. При комбинирование нескольких таких фонов, можно добиться интересных parallax-эффектов. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87       //зацикленный фон     class LoopableBackground  ...

Читать далее

Глобальная загрузка WinRT/Win8(XAML)

Стандартный способ оповещения пользователя о загрузке данных программой из интернета является индикатор из бегающих кубиков сверху экрана(ProgressBar). Чтобы не добавлять на каждую страницу ProgressBar и не передавать состояния загрузки из разных мест на индикатор, можно сделать «глобальную» для всего приложения загрузку. Сам класс GlobalLoading приведен ниже: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 public class GlobalLoading : INotifyPropertyChanged {    ...

Читать далее

UIElement и PositionAnchor в Bing картаx (Win8/WinRT)

Добавляя UIElement на карту из Bing SDK обычно используют конструкцию вида: 1 2 3 4 5 6 7 8 UIElement control;   //...   MapLayer.SetPosition(control, position); MapLayer.SetPositionAnchor(control, new Point(0, 0));   map.Children.Add(control); UIElement control; //... MapLayer.SetPosition(control, position); MapLayer.SetPositionAnchor(control, new Point(0, 0)); map.Children.Add(control); Подробнее по методам MapLayer.SetPosition( DependencyObject dependencyObject, Location location) устанавливает позицию UIElement в географических координатах на карте. MapLayer.SetPositionAnchor( DependencyObject dependencyObject, Point positionAnchor) устанавливает какую именно точку UIElement зафиксировать на карте в location из предыдущего метода...

Читать далее

Используем OpenStreetMap карты в Win8/WinRT

Многие по тем или иным причинам выбирают карты OpenStreetMap, но готовых решений для WinRT нету. Выход простой: используем Bing SDK и переправляем запросы на изображения карты с Bing сервера на сервер OSM. Делается это при инициализации страницы с контролом Map так: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //создаем слой тайлов MapTileLayer layerOSM = new MapTileLayer();   //перенаправляем загрузку на сервер OSM layerOSM.GetTileUri += (s, e) => {   e.Uri = new Uri(string.Format("{0}/{1}/{2}.png", e.LevelOfDetail, e.X, e.Y)); };   //добавляем слой к карте map.TileLayers.Add(layerOSM);   //выключаем посторонние слои на...

Читать далее