无尽的亚军游戏的一般架构是什么?

令我感到困惑的是,在概念上,无休止的赛跑游戏实际上是如何工作的,至于拥有永无止境的canvas。 Sprite Kit在NDA下,所以我将使用Cocos2D作为我的框架。

网上有一些特定于其他语言和工具的教程,但我只需要弄清楚:如果我创建一个具有特定大小的场景,我该如何创建一个永无止境的背景幻觉? 我只是场景背后的动画背景,还是我以某种方式动态地增加了场景的长度,所以我的跑步者真的沿着canvas跑?

我有道理吗? 我只是无法掌握这些游戏使用的实际方法。 他们当然觉得跑步精灵正在沿着canvas移动,但也许只是因为他保持静止并且所有元素都在移动?

你可以创造“无尽”环境的一种方法是制作UIViews(或NSViews取决于你的游戏将在哪些平台上使用),它们只包含一部分环境,以便当跑步者通过该部分时可以重复使用它们。游戏。 每个视图都可以专用于显示游戏的某个function,例如加电或障碍物,并且决定何时使用每个视图将取决于游戏的逻辑。

让我们想到像喷气背包那样无尽的跑步者。

您可能希望有两个背景节点,每个节点都比屏幕大小大一些(可能是1.5或2个屏幕宽度)。 加载关卡时,加载第一个背景并在第一个结束的坐标处添加第二个背景,以便它们形成长屏幕。 然后当我们开始沿着这个背景移动角色时,当第一个背景离开屏幕时,我们可以接受它,并将其坐标更改为第二个背景帧结束的坐标。 这样,当这个结束时,我们也会这样做。 这种方式只使用2个长图像,我们可以模拟基本上无限的空间。 您可以为游戏使用更长的序列。 您可以在离开屏幕并显示其他节点时将其添加到后台,因此每次都看起来不同。