【问题标题】:Simple 2D game on iPhone with cocos2d - tips and tricks使用 cocos2d 在 iPhone 上进行简单的 2D 游戏 - 提示和技巧
【发布时间】:2012-09-19 17:09:01
【问题描述】:

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

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

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

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

【问题讨论】:

  • 移动的背景叫做“视差背景”,google一下就可以找到教程了。

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


【解决方案1】:

我强烈建议您在Amazon 上购买 Steffen Itterheim 的《学习 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。更多信息这在 Steffen 的书上 :)。

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

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

【讨论】:

  • 谢谢它很有用!我还找到了 raywenderlich.com,并且有一个针对初学者的免费 pdf 教程。首先,我想我必须阅读.. :)
【解决方案2】:

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

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

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

【讨论】:

  • 谢谢,我在Cocos2d/Box2d示例项目中试了一些样例,里面有一个Car游戏,所以我可以研究如何制作汽车和地面..
猜你喜欢
  • 2011-11-29
  • 1970-01-01
  • 2011-09-20
  • 2013-02-10
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多