libGdx:比屏幕大的可滚动阶段

时间:2014-01-30 10:00:51

标签: java android libgdx scrollpane

我正在尝试使用libGdx创建一个小游戏。对于关卡选择,我想要一个类似于AngryBirds中的关卡选项的东西,你可以滚动一个大的“地图”,然后选择一个关卡。我知道互联网上有几个教程,我已经阅读了很多这些教程,但没有一个真正帮助过我。

级别选择不应该被分页,而是一个连续的长地图。我想要设置它的方法是在大型舞台上放置比屏幕更大的图像和按钮,用于选择水平。然后我总是希望根据用户滚动到的位置显示该阶段的不同部分。

可以这样设置吗?我怎么能实现它?是否可以将ScrollPane与一个大舞台一起使用?

1 个答案:

答案 0 :(得分:3)

您可以简单地使用相机而不是ScrollPane。将摄像机视口定义为例如80宽度和45高度(16/9)。将凸轮位置设置为camWidth / 2 camHight / 2,因为凸轮位置位于中间位置,并且您想要从右下角的(0/0)开始?然后你可以画出你的按钮。在(0/0)处绘制以绘制第一行和第一列。当从(0/0)到(80/45)时,从(90/0)开始绘制不在相机中。要滚动地图,您只需执行以下操作:camera.setPosition(cameraX + some Movement, cameraY)向右滚动。请注意,这只是伪代码,重要的是,在移动凸轮后调用cam.update()并使用cams矩阵作为spritebatch:batch.setProjectionMatrix(cam.combined)。 希望你理解它。如果没有留下评论,我会编辑。