4

我想创建一个简单的 2d 游戏:屏幕中间有一辆汽车,背景正在向后移动,从而产生汽车速度的感觉。道路也有上坡和下坡,因此汽车必须遵循其形状。用户可以加速和打破。就这样!

我做了一些研究,发现了 cocos2d。我下载了它,阅读了教程并研究了示例,但是要开始开发我的简单游戏,我仍然有一些问题没有得到答案。

我应该如何创建道路(2d)以将汽车放在上面?我应该如何将背景(和道路)从右向左移动以感受汽车的速度?我应该如何创建汽车?

我不想有源代码作为答案,而是理论建议、好的教程和示例。谢谢!!

4

2 回答 2

1

我强烈建议您在Amazon上购买 Steffen Itterheim 的书“Learn Cocos2D” 。通过阅读它并玩弄他的源代码,它帮助了我很多入门:http: //www.learn-cocos2d.com/ 如果您不想花钱,请查看 RayWenderlich 教程系列。有一个团队与他合作,并且有很多关于如何构建你的第一个游戏的教程(看看它们,它们非常好!):http ://www.raywenderlich.com/tag/cocos2d. 因为移动汽车只是一个在更新方法期间移动的 CCSprite 对象。位置相对于抽象坐标(0-320 宽度和 0-640 高度),您可以使用 position 属性进行设置(sprite.position = CGPointMake(10.0f, 200.0f) 会将您的精灵放置在 pos x:10, y:200)。您需要在 init 方法中将精灵添加为场景的子节点和 scheduleUpdate ,并且有根据输入移动精灵的逻辑(您可以选择加速度计输入,或选择一些很酷的控制器,如SneakyInput。更多关于这个史蒂芬的书:)。

您应该将“ParallaxBackground”添加为单独的图层,并通过计划更新使其移动。与汽车的概念相同,但输入不同(您不需要控制器,但输入将与汽车的位置相关。您可以使用 parent.getChildByTag 从父节点获取汽车作为子节点(CARTAG))。

这有点粗糙,但我希望给出一个初步的想法..

于 2012-09-21T09:07:20.127 回答
0

如果你需要一个真实的结果,你可以考虑使用 box2d 或 Chimmunk(已经嵌入在 cocos2d 中)来制作物理,这样汽车就会像“Doodle Truck”或“Tiny Wings”中的那些物体一样。网上有很多教程。对于 cox,这需要更多的调整和设置才能使游戏正常运行。否则,你需要考虑“道路”的数据结构——它让汽车知道它应该是哪个旋转角度。我认为这是这个简单游戏中最难的部分。

对于移动背景,这很简单,应该有很多可能的方法。我能想到的最简单的就是根据汽车当前的速度逐帧设置它的位置。

创建汽车:您可以创建一个表示它的类,其中包括一个 CCSprite,它处理动画、旋转、翻转......以及与显示汽车相关的任何其他内容。

于 2012-09-20T08:55:40.143 回答