1

我正在尝试使用 cocos2d 库开发 2D 游戏。我还在学习框架。

请理解,我是游戏开发的新手,但对使用目标 c 进行编程并不陌生。

这是我在游戏开发工作中面临的问题——我觉得我缺少对如何开发无限滚动游戏的理论理解。你们中的任何人都可以为我提供一些指导吗?

下面是我对使用 cocos2d 框架实现无限滚动的理解:

  1. Cocos2d 有一个处理当前场景和场景转换的单例导演类

  2. 在当前场景中,我觉得我必须创建一个由多个图像组成的平台对象,并将它们作为子对象添加到当前图层。并不断地对平台精灵运行一个移动动作。因此,当我检测到特定图像不在屏幕上时,我必须用另一个图像替换它。这样我就可以创建无限滚动。

如果第 2 点不连贯,我很抱歉。我只是试图把我对如何无限滚动的理解。

你能帮我解决这个问题吗?

谢谢

4

1 回答 1

1

我在这篇文章中剖析了如何使用 cocos2d-iphone 实现滚动。您可能想要的是“假滚动”方法,其中移动两个背景图像并在一个完全离开屏幕后切换位置。

您只想对背景层执行此操作,而不是单个精灵。你的世界并没有真正移动,它只是背景平移造成了移动的错觉。所有精灵等(玩家、敌人)的移动仍然是相对于屏幕坐标的。

您将在 Shoot'em Up 项目中我的 Learn Cocos2D 2 书的代码中找到一个有效的实现。

如果您不想自己实现此功能,KoboldTouch 支持瓷砖地图的无限/无限滚动。在这里,游戏对象实际上随着背景无限移动(直到浮动支持的最大坐标,大约为 +/- 1600 万点)。

于 2013-04-06T17:28:57.047 回答