2016-11-21 1 views
0

Я разрабатываю игру в libGDX, а уровни в моей сетке содержат сетчатый актер, который содержит зеркала внутри (see my game). Проблема в том, что сетка слишком большая, и я хочу видеть всю сцену.Этап больше, чем экран в LibGDX, как поместить его на экран?

Я использую OrthographicCamera и ExtendViewport.

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

+0

Будут ли все ваши уровни одинакового размера, или масштабирование должно отличаться в зависимости от того, на какой стадии вы находитесь? – Tenfour04

+0

Я не знаю точно, на какое поведение вы надеетесь, но 'ExtendViewport' должен работать сам по себе. Просто используйте что-то вроде новой сцены (новый ExtendViewport (viewWidth, viewHeight)) 'где ширина и высота равны размерам вашей сетки. Когда вы измените размер окна, содержимое будет масштабировано, чтобы соответствовать окну просмотра. – DavidS

+0

fyi: frustum: часть конуса или пирамиды, которая остается после ее верхней части, была отрезана плоскостью, параллельной ее основанию, или которая перехватывается между двумя такими плоскостями. Таким образом, в основном у вас есть вид с близким и дальним отсечением. Кроме того, «этап» не имеет размеров, поэтому он не может находиться за пределами экрана. однако актеры на сцене могут быть. –

ответ

0

Я думаю, вы хотите использовать FitViewport, который позволит вам не «проливать» на экран.

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

+0

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