Есть ли правильный способ масштабирования актеров на сцене? (Libgdx) - PullRequest
1 голос
/ 27 марта 2019

Я делаю приложение для Android, в котором Libgdx Stage обрабатывает HUD. Но как мне масштабировать вещи, которые я добавляю в сцену?

Я пробовал некоторые манипуляции с камерой, окном просмотра, и ни одна из работ не выполнялась должным образом. Допустим, я хочу, чтобы моя кнопка ImageButton была размещена в правом верхнем углу экрана. Мне удалось сделать это, манипулируя позиционированием стола, кажется, все в порядке. Но проблема появляется, когда я запускаю свое приложение на моем телефоне. Кнопка Image расположена правильно, но она немного мала :-)

Дело в том, что я хочу, чтобы ImageButton выглядел на (540 800) экране с разрешением. Кнопка ImageButton (65,65). Когда дело доходит до больших размеров экрана, ImageButton начинает выглядеть маленьким, потому что он не масштабируется (или видовой экран и камера не работают должным образом, я не думаю, что фактическое масштабирование действительно необходимо)

1 Ответ

0 голосов
/ 02 апреля 2019

Я предлагаю вам проверить документацию о Viewports, которая довольно понятна, хотя и немного устарела: https://github.com/libgdx/libgdx/wiki/Viewports

Если вам не нужно связываться с камерой, не стесняйтесь ее объявлять. Просто используйте сцену, с автоматически включенной орфографической камерой. Если вы объявляете Actor в границах области просмотра, он должен масштабироваться должным образом в зависимости от типа выбранной области просмотра. Например:

FillViewport vp = new FillViewport(800, 1280); // fills the screen, adapting itself to actual screen ratio
Stage stage = new Stage(vp);
...