在 LibGdx 中滚动主屏幕

Scrolling home screen in LibGdx

我正在使用 LibGdx 开发游戏。现在我没有使用 scene2D。由于没有滚动屏幕,我很想增加游戏的关卡。

我喜欢设计一个滚动屏幕,因为它在许多基于级别的游戏中都是如此(参考,比如说 Candy crush)。你能给我一个例子,说明如何让这样的滚动屏幕显示更大的区域,我可以在其中显示多个级别。

谢谢提前!

为此不需要使用 Scene2D 函数,对于 GUI 实现和不同的屏幕来说更是如此。在创建不适合您 phone 的阅读内容时,滚动窗格真的很闪耀。不过,我建议开始学习 Scene2D 以创建 MenuScreens 和 UI。

Candy Crush "simply" 所做的是让多个背景彼此相邻并无缝平铺。他们在关卡的正确位置使用按钮。通过在屏幕上拖动手指,相机将朝那个方向移动。对于从一个级别到下一个级别的移动,可能有类似样条曲线的东西在起作用。

重要的是只绘制屏幕上实际可见的背景图块和按钮(如果有很多)。因为它们有固定的位置,而且你知道你的相机区域和位置,你可以计算出要画什么,不画什么。仅仅绘制每一帧的所有内容可能会降低你的 fps。

您可以搜索:

  • Tilemaps,适合您的背景,但您可能只希望它们在一个方向上,因此一个简单的一维数组就足够了。
  • 拖动,移动您的相机。 Here I gave a basic explanations on how I do it.
  • Splines,有点硬,你真的不需要它们。它们可用于沿曲线设置动画或移动某物。

就是这样,希望您知道如何创建按钮之类的东西(单击精灵)。