Четверг, 18 Апреля 2024, 23:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Как делают изображение одинаковым на разных разрешениях
Как делают изображение одинаковым на разных разрешениях
afqДата: Среда, 07 Ноября 2018, 18:52 | Сообщение # 1
Разработчик
Сейчас нет на сайте
Не помню уже, создавал ли я эту тему на этом сайте. Вот например игра на unity, когда запускаешь её, она выдает окно, в котором выбираешь разрешение экрана, в котором хочешь запустить игру. Запустив игру на любом разрешении, картинка не меняется. Как это можно сделать не пойму? Для разных разрешений делать разные картинки или как то по другому?
DivESДата: Среда, 07 Ноября 2018, 21:28 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
afq, в каком смысле "картинка не меняется"? Качество? Масштаб?
TLTДата: Среда, 07 Ноября 2018, 21:36 | Сообщение # 3
Сейчас нет на сайте
Картинку растягивать на 100% ширины и высоты, для меню делать координаты относительными и т.д.

Дао, выраженное словами, не есть истинное Дао.
DivESДата: Среда, 07 Ноября 2018, 21:36 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
afq, да и как же картинка не будет меняться? Если всё сделано правильно, то с увеличением разрешения экрана будет увеличиваться показываемая область карты (при этом элементы HUD должны оставаться на своих местах).
Если же сделано не очень правильно, то с увеличением разрешения экрана изображение будет растягиваться (а его качество станет хуже).
Картинка меняется в любом случае :)


Сообщение отредактировал DivES - Среда, 07 Ноября 2018, 21:37
afqДата: Среда, 07 Ноября 2018, 22:41 | Сообщение # 5
Разработчик
Сейчас нет на сайте
DivES, масштаб, вот например запусти игру while learn true, кнопки меню будут одного размера при 1024x768 и при 1920x1080.
DivESДата: Четверг, 08 Ноября 2018, 20:37 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Цитата DivES ()
Если всё сделано правильно, то с увеличением разрешения экрана будет увеличиваться показываемая область карты (при этом элементы HUD должны оставаться на своих местах).

Цитата afq ()
масштаб, вот например запусти игру while learn true, кнопки меню будут одного размера при 1024x768 и при 1920x1080.

Разве мы написали не об одном и том же?
coremissionДата: Четверг, 08 Ноября 2018, 23:47 | Сообщение # 7
частый гость
Сейчас нет на сайте
Цитата afq ()
Запустив игру на любом разрешении, картинка не меняется

Вообще - меняется
Если ты говоришь о 3D - то дело в том как вообще графика в игре устроена - модельки на сцене, скайбокс,- все это растеризуется. Разницу можно заметить если текстуры плохого качества, или нет мип-уровней, или в разрешении которое ты изменишь - изменится и аспект (соотношение сторон)
afqДата: Пятница, 09 Ноября 2018, 00:24 | Сообщение # 8
Разработчик
Сейчас нет на сайте


Вот я например делаю игру игровой автомат, мне что, для каждого разрешения нужно отдельные картинки рисовать?
Animan2010Дата: Пятница, 09 Ноября 2018, 00:58 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
afq, я обычно делаю таким образом:
Есть объект, у него текстура, координаты Х, Y и размер W, H.
Размер устанавливаю относительно размера родительского объекта, ну если таких нет, то относительно экрана, типо:
SetSize(1.0f, 1.0f) - размер равный размеру экрана
SetSize(0.5f, 0.5f) - четверть экрана
А вообще рекомендую так скейлить относительно одной стороны, тогда пропорции не будут меняться независимо от формата экрана, типо:
ScaleToWidth(0.5f) {
w = parent.w * 0.5f; // ширина равна половине ширины родителя
h = texture.h * w / texture.w; // высота изменяется пропорционально изменению ширины
}
То есть, допустим размер экрана 800х400, размер текстуры 300х300, тогда ScaleToWidth(0.5f) приведет к
w = 800 * 0.5 = 400
h = 300 * 400 / 300 = 400
То есть все правильно растянулось, и это не будет зависеть ни от размера экрана, ни от формата


Anima Games
Animan Publishing
afqДата: Пятница, 09 Ноября 2018, 01:19 | Сообщение # 10
Разработчик
Сейчас нет на сайте
Animan2010, а я тут понаделывал. Блин, я уже забыл как текстурой выводить, это значит что экран ortho выставлять в ( 1.0, 1.0 ) и тому подобное да? Так как я с текстурой как то были проблемы, я тогда незнал ещё о GL_BLEND ( о прозрачности ), и начал делать через glVertexPointer и glColorPointer. А надо блин с текстурой значит да?
Форум игроделов » Программирование » C/C++ » Как делают изображение одинаковым на разных разрешениях
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг