Каков рекомендуемый способ поддержки нескольких разрешений экрана/соотношений сторон на таких устройствах, как iPad, iPhone, телефоны с Windows и телефоны/планшеты на Android? Должен ли я просто использовать специальный код #if/#else для каждого устройства? Я не знаю, насколько хорошо это сработает. Особенно для телефонов/планшетов Android, которые бывают разных размеров. Любые указатели будут очень признательны.
Поддержка нескольких размеров/разрешений/соотношений сторон экрана с помощью MonoGame
Ответы (1)
Вот что мы делаем для нашей игры:
- Все элементы меню или пользовательского интерфейса позиционируются в зависимости от размера экрана (мы реализуем горизонтальное и вертикальное выравнивание)
- Все уровни прокручиваются, поэтому на некоторых устройствах вы просто видите меньше уровней за раз
- Наши уровни также масштабируются на небольших устройствах, где это необходимо.
- Создавайте фиксированные уровни (те, которые не прокручиваются), чтобы немного неиспользуемого пространства оставалось по краям экрана. Таким образом, на некоторых устройствах его можно обрезать без проблем.
- Сделать 3 размера изображений: маленький (3GS), средний (iPhone 4, Android, WP7, iPad), большой iPad3
- Позиционируйте спрайты/элементы пользовательского интерфейса в зависимости от размера изображения
- Воспользуйтесь преимуществами схемы именования изображений @2x.
- Мы сделали версию приложения только для iPhone и только для iPad, это помогает в том, что нужно всего лишь поместить 2 набора изображений в каждое приложение.
Лучше всего использовать размер экрана для позиционирования. Возможность центрировать или пристыковывать к нижней или правой части экрана также очень полезна в целом.
Я мог бы рассказать больше, но пока не могу раскрывать подробности о нашей игре.
person
jonathanpeppers
schedule
06.05.2012
Все это похоже на хорошую практику. Есть ли хорошая библиотека меню на основе xna? Или я должен написать свои собственные макеты и выравнивания?
- person tamaslnagy; 07.05.2012
Было не так уж сложно свернуть наши собственные. Выравнивания просто вычисляют положение X и Y, а щелчок был просто вопросом проверки
Mouse или TouchPanel и границ элемента управления.
- person jonathanpeppers; 07.05.2012
Истинный. Однако написание макета и выравнивания довольно избыточно, и я надеялся, что для этой цели может быть библиотека. Спасибо за вашу помощь
- person tamaslnagy; 10.05.2012