Ние използваме 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 платформи? Бихме искали по някакъв начин да използваме едни и същи координати навсякъде, ако е възможно.
РЕДАКТИРАНЕ: Последната версия 2.0 на MonoGame в GitHub вече няма проблеми с ориентацията.
Жестовете на сензорния панел все още не са напълно внедрени, така че просто избягваме това.
SupportedOrientations
на iOS. Той ще обработва всички координатни преобразувания вътрешно (точно като WP7). (Пълно разкриване: ExEn е моята библиотека.) - person Andrew Russell   schedule 21.10.2011