如何使用Cocos2d创建这样的游戏

时间:2010-06-17 20:47:07

标签: iphone objective-c cocos2d-iphone physics

http://itunes.apple.com/us/app/angry-birds/id343200656?mt=8&ign-mpt=uo%3D6

所以我开始使用iphone上的所有游戏开发工具,我决定开始使用Cocos2d作为我的启动引擎。

现在只是为了让我有一个目标,我选择了愤怒的小鸟作为我想学习构建的游戏类型的最初目标。这将成为市场发布游戏。 完全仅用于学习目的。

所以开始我的问题是:

  • 使用Cocos2d可以实现这样的目标吗?
  • 我将如何为此建立物理学?
  • 如何像cocos2d一样进行屏幕滚动? (任何示例代码都很棒)

这只是为了开始。如果您有任何特殊问题,请添加此问题。


我想知道更多的事情:

  • 动画精灵。如何创造它?这是Cocos2d功能还是我可以使用UIImageView?
  • 拖放支持。他们怎么发现我拖着那只鸟?
  • 更多的图形问题:它们如何激活“乐队拉伸”效果?

欢呼声


进度

所以我已经能够在Cocos2d中创建一个带有box2d的世界,现在我有几个碰撞和模拟物理的块。现在我遇到的问题我认为可以通过进一步的提示/帮助/教程来解决。

  1. 如何让精灵在弧形中移动?就像你扔鸟一样,它沿着一条曲线移动。我该如何计算呢?这个逻辑在哪里? (内置或需要编码?)

  2. 如何创建一个世界(地图),其中某些块是静态的并且某些块是可破坏的?我应该在cocos2d中查看SVG支持吗?

  3. 如何像在愤怒的情况下那样模拟碰撞?

  4. 欢呼声。

3 个答案:

答案 0 :(得分:4)

  1. 像“愤怒的小鸟”这样的游戏绝对可以使用cocos2d。

  2. 你绝对应该使用box2d或Chipmunk。我推荐box2d,因为我发现它更容易理解。基本思想是为每个精灵创建一个box2d体,例如:鸟类和结构的各个部分都是分开的身体。

  3. 基本思路是创建一个比包含所有内容的屏幕更大的图层,然后移动该图层。要允许通过触摸滚动,您需要跟踪触摸在触摸开始/移动/完成方法中移动的距离并相应地移动图层。您也可以使用CCFollow动作模拟鸟类在空中跟踪的摄像机。

  4. 编辑您的其他问题:

    1. 使用CCSpriteSheet处理精灵动画。您可以在programming guide

    2. 中查看更多内容
    3. 您可以使用触摸位置检测拖动鸟的位置,这在您编写触摸方法时非常简单。再次,请参阅programming guide

    4. 我不确定伸展乐队的最好方法。一种方法是使用几个精灵(一个用于乐队的每一侧,一个用于中间的'小袋')并根据需要拉伸/旋转它们。

答案 1 :(得分:1)

如何制作像“愤怒的小鸟”这样的游戏?

您可以参考:http://goodsteven.blogspot.com/2010/10/how-to-make-game-like-angry-birds.html

BeBeWoo Lite 工具/库使用:

  • 适用于iPhone的Cocos2D(0.99.4)(ObjC)
  • Box2d(C ++)
  • 级别数据的XML或PList -
  • 关卡编辑(包括游戏与否)
  • 字体编辑器:Hiero
  • 精灵编辑:Zwopte

答案 2 :(得分:0)

一些想法:

  • 在cocos2d中看起来很容易实现。
  • cocos2d与两个物理引擎集成:box2d和ChimpMunk。你应该试试其中之一。
  • 您可以查看有关视差滚动的样本(或文档),以实现一些外观,然后检查cocos2d提供的触摸管理。

作为旁注,开发cocos2d的人会出售Sapus Tongue(他的游戏)的源代码,这可能会对你开始有用。