舞台比LibGDX中的屏幕大,如何将它放在屏幕上?

问题描述:

我正在开发一个libGDX游戏,并且在我的网格中的层次包含一个网格actor,其中包含(see my game)中的镜像。问题在于网格太大,我希望能够看到所有的舞台。舞台比LibGDX中的屏幕大,如何将它放在屏幕上?

我正在使用OrthographicCamera和ExtendViewport。

我试过使用frustrum(我真的不知道它是什么):我创建了四个BoundingBox(左,右,上和下),它们放置在网格外。我将相机位置设置为网格演员的中间位置,并且我制作了一个缩放相机的循环,直到盒子处于裂痕处,但我不知道它是否是最佳解决方案...

+0

您的所有关卡的尺寸是否相同,或取决于您所处的阶段,变焦需要不同? – Tenfour04

+0

我不确切地知道你希望的是什么行为,但是'ExtendViewport'应该可以独立工作。只需使用'new Stage(new ExtendViewport(viewWidth,viewHeight))',其中宽度和高度等于网格的尺寸。调整窗口大小时,内容将缩放以适应视口。 – DavidS

+0

fyi:平截头体:锥体或金字塔的上部被平行于其底部的平面切断或在两个这样的平面之间截取的部分。所以基本上你有近距离和远距离的剪辑。 此外,“舞台”没有尺寸,所以它不能在屏幕之外。然而,舞台上的演员可以。 –

我想你想要使用FitViewport,这将确保您不会“溢出”屏幕。

仅供参考,截锥体用于确定您的相机的深度 - 它可以看到多远。我同意在这种情况下这不会对你有所帮助。

+0

在平截体中有六架飞机。*面和远平面影响相机可以看到的距离。其他四个平面定义您可以在屏幕边缘看到的边界。所以OP使用它们的方式是有道理的,虽然做一个循环而不是直接计算需要的东西是很奇怪的,而当相机正确拼写时它是不必要的复杂。 – Tenfour04