Мы используем MonoGame для разработки для iOS и Windows Phone 7 (а затем и для Android).
Наша игра работает только в горизонтальной ориентации.
Если выполняетсяв эмуляторе WP7 на windows наше графическое устройство настроено так, как в Initialize () в нашей игре:
graphics = new GraphicsManager(this);
graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 320;
graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight;
Это не точный размер экрана для WP7 (у нас есть черная полоса справана данный момент, что не является нашей главной задачей), но дает нам правильный размер экрана, который будет работать на iPhone.Чтобы все выглядело правильно на iPhone, мы должны обратить вспять ширину и высоту заднего буфера, что кажется очень странным.
Мы также обнаруживаем, что нам нужно инвертировать любые координаты X / Y и ширину / высоту на протяжении всего нашегоигра.
Это большая проблема, чтобы иметь дело с.Что именно MonoGame здесь делает?
Что нам рекомендуется для обработки видимого изменения размера между этими двумя платформами?Мы бы хотели как-то использовать одни и те же координаты по всей доске, если это возможно.
РЕДАКТИРОВАТЬ: последняя версия 2.0 MonoGame на GitHub больше не имеет проблем с ориентацией.Жесты сенсорной панели еще не совсем реализованы, поэтому мы просто избегаем этого.