Как я могу разработать свою игру для Android для разных разрешений телефона?

18

Например, Motorola Droid такой же ширины, как G1, но имеет большую высоту.

Должен ли я попытаться распределить пользовательский интерфейс по дополнительной высоте, найденной на Motorola Droid? Как другие решают эту проблему?

Я не использую OpenGL, но SurfaceView для 2D-игры.

Брайан Денни
источник

Ответы:

7

Имейте в виду независимость плотности (в основном разрешение), как описано здесь: http://developer.android.com/guide/practices/screens_support.html

А что касается соотношения сторон, выберите ваше минимальное целевое соотношение сторон и дизайн в нем как своего рода безопасную рамку. Когда столкнетесь с более широким соотношением сторон, покажите больше игры, которая не критична для игрового процесса. Я разместил здесь аналогичный вопрос и описал, что я буду делать: как вы подходите к независимости от разрешения в растровом графическом контенте?

Keyframe
источник
3

Вы можете сделать динамическое разрешение, которое я показываю здесь на iphone:

http://www.blog.namar0x0309.com/2011/10/adaptive-resolution/

  • Убедитесь, что вы все расставили с соотношениями. Например, строка состояния будет размещена на 80% ширины экрана и 10% ширины экрана для ее горизонтальной шкалы (см. Размеры стиля CSS). Поначалу это немного странно, но вам не придется иметь дело со всеми различными разрешениями в долгосрочной перспективе, поскольку ваши виджеты / изображения будут динамически перемещаться на разных экранах.

  • Если в вашей игре используется сбор, переведите это тоже с соотношениями (вам нужен оригинальный набор измерений, который вы можете использовать как ссылку для построения соотношений с размерами устройства.

namar0x0309
источник
Статья больше недоступна!
бутылочная загрузка
Только что попробовал, работая на моем конце. Обновить? Возможно, моя хостинговая компания перезапускала свои серверы. @bottleboot
namar0x0309
мой блокировщик рекламы останавливал загрузку страницы, я вижу это сейчас
бутылочная загрузка
1

Если вы используете eclipse, вы можете добавить несколько изображений разных размеров в drawable-ldpi, drawable-mdpi и drawable-hdpi, и движок Android автоматически выберет, какое изображение будет соответствовать разрешению экрана.

Зак Буркетт
источник
2
Какое отношение затмение имеет к этому?
Нотлеш
1

Ключевой кадр упоминает хороший подход, но я предложу еще два:

1) Создайте свою игру для нескольких разрешений / соотношений сторон. Идея состоит в том, чтобы использовать все преимущества экранного пространства, но «спроектировать» любые преимущества, которые может иметь одно соотношение сторон над другим. В зависимости от игры, различные соотношения сторон могут все же иметь преимущество перед другими, поэтому вы должны иметь это в виду для многопользовательских матчей, списков лидеров, достижений и т. Д., Если какие-либо из них актуальны.

2) Используйте дополнительное пространство для большего количества HUD / хромирования. В значительной степени то, что сказал Ключевой кадр, поскольку поддерживается базовое или минимальное разрешение, но вместо этого используйте дополнительное пространство для чего-то другого, кроме игрового действия.

Большим недостатком второго подхода является то, что если вы берете что-то очень квадратное в качестве «безопасной зоны», вы оставляете много неиспользуемых / непреднамеренно используемых пикселей в широкоэкранной установке.

notlesh
источник
-2

Выбор оптимального разрешения для игры с самого начала разработки может уменьшить проблемы с портированием в дальнейшем.

«Лучшее» разрешение зависит от множества факторов:

- Платформа, на которой игра должна быть выпущена первой

-Другие возможные платформы, которые вы планируете портировать на потом

-Графическая верность (8-битная или пиксельная игра не должна быть в высоком разрешении.)

-Жанр (Игра-головоломка, вероятно, может обойтись с более низким разрешением, но высокоскоростной конкурентный FPS не может.)

данмоун феркун
источник