Поддержка разных разрешений экранов.

Сохраняем позиционирование UI или HUD

Часто игра имеет элементы пользовательского интерфейса (он же HUD), такие как здоровье, боеприпасы или другая информация, которая всегда должна находиться в одном месте экрана.

Для этого вам нужно создать новый слой layer и выбрать Parallax данного слоя в 0,0. Если вы хотите, чтобы он не масштабировался, установите Scale rate в 0.

Создайте слой, разместите на нем все ваши UI элементы внутри пунктирного прямоугольника, который представляет из себя игровую область. Разместите элементы в верхнем левом углу. Теперь они будут всегда находится в том же месте экран, как "Score" текст на картинках, которые вы видели на предыдущей странице.

Поведение Якорь -

Anchor behavior

При размещении объекта в нижнем правом углу и изменения размера окна, вы заметите, что он не двигается. Для того, чтобы заставить его остаться по отношению к нижней правой части видимого окна, вы можете использовать поведение Anchor behavior, это поведение закрепит его положение на экране.

Обратите внимание что данное поведение предназначено только для слоя с параллаксом равным 0,0, как описано выше.

Настраивая Left edge(левый край) и Right edge(правый край) к Window right(окно с права) или Window bottom (окно низ) вы можете выровнять объекты либо с правого края окна, нижний край или нижний-правый угол. По умолчанию объекты выравниваются от верхнего левого угла окна.

Если у вас есть элементы управления или другие объекты, которые вы хотите увеличивать или растягивать в зависимости от размера окна, вы можете также настроить Right edge и Bottom edge вашего элемента. Но если вам это не нужно, оставьте данные значения без изменений, т.е. None.

Полезные функции и хитрости

Настройками системы выражений WindowWidth и WindowHeight. Вы можете скрыть или показать объекты в зависимости от размера окна, включить различные функции для очень маленьких экранов, или показать другой вид пользовательского интерфейса для очень больших экранов.

Системные выражения ViewportLeft, ViewportRight, ViewportTop и ViewportBottom могут возвращать координаты окна для данного слоя. Позиционирование объекта по центру экрана - это легко - (ViewportLeft("Layer") + ViewportRight("Layer")) / 2 and (ViewportTop("Layer") + ViewportBottom("Layer")) / 2.

Иногда в полноэкранном режиме с масштабированием, вы можете увидеть границы макета вызванные scrolling прокруткой. В таком случае вы можете попробовать установить Unbounded scrolling на Yes для вашего слоя, а также ограничить скролинг персонажа, (например, вокруг делать объекты с поведением solid).

Переключение полноэкранного режима в игре

Browser object может вызывать состояние Request fullscreen (на весь экран).

Это значит, что ваша игра будет развернута на весь экран, даже если Fullscreen in browser выключен Off (это применимо для встроенных в HTML-страницы игр). Вы также как и описано выше, можете центрировать, обрезать, изменять масштаб, размер для разных пропорций и размеров экрана, все в соответствии с значениями Fullscreen in browser.

Обратите внимание, что по соображениям безопасности Request fullscreen работает только событием, например, нажатие клавиши на клавиатуре или нажав на объект Button.

Обязательно тестируйте и проверяйте!

Вы должны проверять свою игру на различных устройствах, чтобы увидеть, насколько хорошо она работает. Особенно пользовательский интерфейс, который отображается в зависимости от размера экрана. Это довольно кропотливая работа, но она важна.

Вы также можете проверить работу вашей игры через Wi-Fi или локальную сеть previewing on a local network. Это поможет сделать проверку на реальных устройствах быстрее и проще.

Самый большой размер дисплея 2048 x 1536 на IPad третьего поколения, а самый маленький по размеру 320 x 480 на iPhone 3 и более ранних версиях. Так что это диапазон очень большой! Убедитесь, что вы проверили их все. Будет досадно если из за плохой проверки, ваша игра воспроизводиться на некоторых экранах и пропавшими или слишком маленькими кнопками, на которые трудно нажимать!

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!