GM 9.5: Небольшие правки HUDа

Для тех кто не понимает что происходит ссылка на первую статью из цикла.

Про ощущения

Интерес к проекту поугас, но забрасывать его пока не планирую. Продумываю как упростить концепт геймплея, оставив живой мир (или его имитацию) и убрать излишнюю проработку с заморочками. Пока работаю с интерфейсом, потому что раньше в эту часть не залезала, но ощущаю лень и духоту.

Немного креатива

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

Центр ПДА, конечно же, удалила в редакторе, но здесь это не видно.
Центр ПДА, конечно же, удалила в редакторе, но здесь это не видно.

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

Также заранее разделила изображение на три части: два края и растягиваемую середину, чтобы в будущем растягивать картинку под разные соотношения сторон.

Переключение на полноэкранный режим

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

Алгоритм такой: объект-Зона создает объект-кнопку, сообщает ей ее тип работы (на будущее) и свой ID для того, чтобы кнопка могла через него отслеживать переменные масштабирования интерфейса и корректировать свое расположение на экране.

Также объект-Зона создает объект-курсор (пока в виде черной точки), который следует за координатами мыши. Объект кнопка через событие столкновения с объектом-курсором отслеживает, расположен ли указатель мыши на ней и хранит данные об этом в специальной переменной. Через ее проверку при нажатии ЛКМ кнопка выполняет свою функцию.

Однако, появилась проблемка. При свайпе экрана объект-кнопка не успевает обновлять свои координаты и отстает от положенного места на экране. Решить это можно сообщая ей координаты через ответственный за свайп объект-Зону, но я заметила, что команда рисования работает быстрее перемещения самого объекта и пошла другим путем.

Еще не тряска, но и не чил.

С одной стороны я прописала корректировку объекта-кнопки, а вместе с тем отделила ее спрайт от объекта. Таким образом, физически кнопка все еще отстает от полагающихся ей координат, но мы этого не видим, ведь изображение кнопки расположено корректно.

Теперь норм.

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

От самых мелких можно и сразу отказаться, я думаю =\
От самых мелких можно и сразу отказаться, я думаю =\
8
9 комментариев

комментов то не густо, перекати поле аш🤭
но ето то понятно, все ждут босса бабочку, так шо давай, не подведи!

1
Ответить

так и число показов копеешное)) время публикации неудачное, я даже отдельно веду статистику по часам и дням недели.

1
Ответить

Тема не самая интересная :(

Ответить