iPhone上的简单2D游戏与cocos2d - 提示和技巧

时间:2012-09-19 17:09:02

标签: iphone ios cocos2d-iphone game-physics box2d-iphone

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

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

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

我不希望将源代码作为答案,但需要理论建议,良好的教程和示例。谢谢!

2 个答案:

答案 0 :(得分: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方法中添加sprite作为场景的子级和scheduleUpdate,并且有根据输入移动精灵的逻辑(你可以选择acromerometery输入,或选择一些很酷的控制器,如SneakyInput。更多关于斯蒂芬的书:)。

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

这有点夸张,但我希望提出一个初步的想法..

答案 1 :(得分:0)

如果你需要一个真实的结果,你可以考虑使用box2d或者chipmunk(已经嵌入在cocos2d中)制作物理,这样汽车的行为就像“涂鸦卡车”或“小翅膀”中的那些物体。互联网上有很多教程。对于考克斯来说,这需要更多的调整和设置才能使游戏正常运行。 否则,您需要考虑“道路”的数据结构 - 这使得汽车知道它应该是哪个旋转角度。 我认为这是这个简单游戏中最难的部分。

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

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