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

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

Читать далее

Авторизация ВКонтакте 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...

Читать далее

Глобальная загрузка 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 {    ...

Читать далее

Snap-заглушка (WinRT/Win8)

Состояние Snapped — одно из возможных состояний Windows Store App. В нем у приложения устанавливается ширина в 320 пикселей, а всю остальную ширину занимает другое приложение. Пользователь таким образом может работать одновременно с двумя приложениями. Данный режим поддерживается только на устройствах экран у которых имеет разрешение по горизонтали не менее 1366 пикселей. На MSDN есть хороший пример, как можно поддерживать данный режим. Если времени или желания нет, то можно сделать заглушку, которая полностью перекрывает экран на время нахождения...

Читать далее

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);   //выключаем посторонние слои на...

Читать далее