我正在尝试用 libGdx 创建一个小游戏。对于关卡选择,我想要一个类似于 AngryBirds 中的关卡选择的东西,您可以在其中滚动浏览一个大“地图”,然后选择一个关卡。我知道互联网上有几个教程,我已经阅读了很多教程,但没有一个对我有帮助。
关卡选择不应该是分页的,它是一个连续的长地图。我想设置的方法是在比屏幕大的大型舞台上使用图像和按钮来选择关卡。然后我总是想根据用户滚动到的位置显示该阶段的不同部分。
可以这样设置吗?我怎么能实现它?是否可以在一个大舞台上使用 ScrollPane?
我正在尝试用 libGdx 创建一个小游戏。对于关卡选择,我想要一个类似于 AngryBirds 中的关卡选择的东西,您可以在其中滚动浏览一个大“地图”,然后选择一个关卡。我知道互联网上有几个教程,我已经阅读了很多教程,但没有一个对我有帮助。
关卡选择不应该是分页的,它是一个连续的长地图。我想设置的方法是在比屏幕大的大型舞台上使用图像和按钮来选择关卡。然后我总是想根据用户滚动到的位置显示该阶段的不同部分。
可以这样设置吗?我怎么能实现它?是否可以在一个大舞台上使用 ScrollPane?
您可以简单地使用相机来代替 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()
在移动凸轮后调用并将凸轮矩阵用于您的 spritebatch: batch.setProjectionMatrix(cam.combined)
。希望你能理解。如果不发表评论,我会编辑。