LibGDX Scene2D другой способ реализации настройки масштаба GUI, отличный от умножения всего на константу? - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть куча элементов пользовательского интерфейса для моей игры. У меня есть инвентарь, HUD, хотбар, игровое меню и т. Д. c. Теперь я хочу масштабировать их в зависимости от настроек. Я импортирую настройки из файла и в основном помещаю их в глобальную переменную, которая может использоваться элементами пользовательского интерфейса. В настоящее время я делаю это, умножая каждую позицию, ширину и высоту всех дочерних элементов Стадий пользовательского интерфейса на эту глобальную переменную. Это не очень практично и не подлежит ремонту. Так что мне было интересно, есть ли другой способ go об этом? Я понял, может быть, есть встроенная опция масштабирования? К сожалению, я не смог ничего найти об этом в Интернете, поскольку поисковый запрос «масштабирование» приводит к множеству различных, более распространенных вопросов / решений.

1 Ответ

0 голосов
/ 20 апреля 2020

Если вы используете Scene2D, вероятно, у вас есть root Actor, который содержит все другие компоненты пользовательского интерфейса. Вам просто нужно установить свойство масштаба на root Actor.

float scale = ...; //XY scale
Actor root = ...;
root.setScale(scale);
...