像水果忍者一样在游戏中工作时遇到的问题

时间:2011-02-25 12:59:17

标签: iphone objective-c xcode cocos2d-iphone touch

我想和水果忍者做类似的游戏。 起初我有: 一个GameScene(一个多层场景,它添加了不同的GameModeLayers和一个PauseLayer作为孩子), 一个ClassicGameModeLayer,它只是Fruit类的sprite iVar的容器。 isTouchEnabled = NO,没有游戏逻辑。 Fruit类,包含CCSprite * fruit和int score。符合CCTouchDelegate并处理背后的所有游戏逻辑。 (就像书中的示例蜘蛛代码“Learn.iPhone.and.iPad.Cocos2D.Game.Development”)

然后我有一个问题。我一次只能切一个水果,只有在水果出现后才能触摸。

我今天设计了另外两款。一种是将触摸处理代码放在ClassicGameModeLayer中,并且还包含一个Fruit的CCArray,保持Fruit里面Fruit的运动。

另一个模型是在Fruit类中创建一个CCSprite水果的CCArray,包含所有游戏逻辑(ClassicGameLayer仍然无效)

我不知道他们是否可以实现。我正在编写第一个编码并以某种方式崩溃。你们有更好的想法吗?对此有一个共同的方法吗?

1 个答案:

答案 0 :(得分:0)

触摸仅在水果出现后出现,因为水果是唯一响应触摸的物体。在水果存在之前,您的应用无法响应。

查看Ray Wenderlich's教程,了解如何创建Cocos2D-iPhone应用程序。

我的建议是:

  • 让图层响应触摸
  • 创建一个“FruitManager”Singleton,其中包含所有水果
  • 当您触摸屏幕时,[[FruitManager sharedFruitManager] allFruits]会为您提供一份水果列表,以查看用户是否已通过其中一个“触摸”。
Ray的Wack-A-Mole游戏应该让你接近你正在做的事情。他的Ninja / Ghost游戏也有截击射弹的规则 - 只需使用触摸。