Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无止境跑步者游戏的总体架构是什么?_Ios_Objective C_Cocos2d Iphone_Game Engine - Fatal编程技术网

Ios 无止境跑步者游戏的总体架构是什么?

Ios 无止境跑步者游戏的总体架构是什么?,ios,objective-c,cocos2d-iphone,game-engine,Ios,Objective C,Cocos2d Iphone,Game Engine,从概念上讲,我对无休止的跑步者游戏实际上是如何工作的感到困惑,因为它有一个永无止境的画布。Sprite工具包属于NDA,所以我将使用Cocos2D作为我的框架 网络上有一些特定于其他语言和工具的教程,但我只需要弄清楚:如果我创建一个具有特定大小的场景,如何创建一个永无止境的背景?我是仅仅在场景后面设置动画背景,还是以某种方式动态地增加场景的长度,使我的跑步者真正沿着画布跑步 我说得通吗?我无法理解这些游戏使用的实际方法是什么。他们当然觉得跑步者精灵在画布上移动,但可能只是因为他静止不动,所有元素

从概念上讲,我对无休止的跑步者游戏实际上是如何工作的感到困惑,因为它有一个永无止境的画布。Sprite工具包属于NDA,所以我将使用Cocos2D作为我的框架

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


我说得通吗?我无法理解这些游戏使用的实际方法是什么。他们当然觉得跑步者精灵在画布上移动,但可能只是因为他静止不动,所有元素都在移动?

创造“无穷无尽”环境的一种方法是制作UIView(或NSView,具体取决于游戏的可用平台)只包含环境的一部分,以便在跑步者通过游戏的该部分时可以重用。每个视图都可以专用于显示游戏的特定功能,如通电或障碍物,何时使用每个视图将取决于游戏的逻辑。

让我们想想像jetpack joyride这样的无休止的跑步者

您可能希望有两个背景节点,每个节点都比屏幕大小大一些(可能是1.5或2个屏幕宽度)。 加载关卡时,加载第一个背景,并在第一个结束的坐标处添加第二个背景,以便它们形成长屏幕。然后当我们开始沿着这个背景移动角色,当第一个背景离开屏幕时,我们可以把它拿走,并将它的坐标更改为第二个背景帧结束的位置。这样,当这一切结束时,我们也会这样做。 这样,仅使用两个长图像,我们就可以模拟基本上无穷无尽的空间。 您可以在游戏中使用更长的序列。
当背景离开屏幕时,您可以将其他节点添加到背景中,并呈现出来,这样每次都会有所不同。

在这里找到一个优秀的阅读资源:另一个可以帮助您使用此sprite工具包的教程可能在nda下,但不会持续太久(10天以上)