На Gideros моя игра выглядит по-разному на эмуляторе и реальном устройстве
На Gideros я установил логические размеры на 720x1080, с Scale Mode = Letterbox, и когда я тестирую его на эмуляторе с тем же разрешением, он выглядит хорошо, без полос вверху и внизу или по бокам.
Затем, когда я тестирую его на Sony Xperia T (также 720x1080), он показывает верхнюю и нижнюю черную полосу с навигационной панелью справа. Кажется, что навигационная панель мешает ширине игры, и поэтому она теряет ширину, чтобы игра подходила, заканчиваясь упомянутыми верхними и нижними черными полосами. Я прав? вот почему я получаю эти бары?
Проблема также возникает, когда я устанавливаю логические размеры игры на 480x800 и меняю изображения для этого разрешения. На эмуляторе работает нормально, но на устройстве 480x800 показывает те же полосы.
Итак, мой вопрос: почему я получаю верхнюю и нижнюю черные полосы на моих устройствах? Это из-за навигационной панели? Как я мог это исправить?
PD: игра в ландшафтном режиме
1 ответ
Да, вы правы, так как экранные "аппаратные" кнопки не считаются частью экрана, тогда ширина меньше, и вы получаете пробелы.
(Кстати, вы можете изменить портрет в альбомную в AndroidManifest для правильного отображения кнопок)
Больше информации о пространствах и масштабировании
Таким образом, у вас есть логические измерения, например: 480w на 320h (хотя они должны быть наоборот 320x480, (в логическом измерении всегда меньше на первом месте), но это другая тема)
Это означает, что весь ваш контент должен быть подготовлен для работы с этими измерениями.
Но, не все устройства имеют такие размеры правильно, так как сделать так, чтобы он выглядел похожим на 800x480? Вы увеличиваете масштаб.
Если соотношение сторон такое же (что в данном случае не так, как (480/320 = 1,5) и (800/480 = 1,66)), вы можете просто увеличить масштаб сцены с одним значением для ширины и высоты
Но что, если соотношение сторон отличается
Есть 3 способа справиться с этим:
1) Растяжение. Мы можем растянуть ширину или высоту (какое бы отношение ни было больше), чтобы уместить весь экран.
2) Масштаб обрезки по центру, чтобы заполнить весь экран и обрезать то, что выходит за пределы экрана, может не подходить всем, но кто-то может его использовать.
3) Почтовый ящик. Он масштабируется до максимального размера ширины или высоты, который сначала заполняет экран, оставляя пробелы в другом измерении.
То, что вы выберете, зависит от того, чего вам нужно достичь, но я предпочитаю Letterbox. И я бы предложил подготовить более крупную графику BG, выходящую за пределы экрана (расположив ее в центре экрана с помощью anchorpoint), и сконцентрировать всю игру на ваши логические измерения. Вот пример: http://giderosmobile.com/forum/discussion/comment/13692
Работайте с настольным симулятором, настроенным на ваши логические размеры, если это лучше для вас, и измените разрешение проигрывателя рабочего стола, чтобы увидеть, как появляются пробелы и какие рисунки BG могут их покрывать
Другая путаница может заключаться в том, что при масштабировании по центру координата 0,0 больше не находится в левой верхней позиции (таким образом, есть пробелы). Что если я хочу полностью разместить объект в углу? Тогда, как вы это сделали, проигнорируйте масштабирование, вычислив реальные смещения
http://appcodingeasy.com/Gideros-Mobile/Ignore-Automatic-Screen-Scaling-when-positioning-objects
Надеюсь, это поможет:)