【问题标题】:problems when working on a game just like fruit ninja像水果忍者一样玩游戏时遇到的问题
【发布时间】:2011-02-25 12:59:16
【问题描述】:

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

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

我今天设计了另外 2 个模型。一种是将触摸处理代码放在ClassicGameModeLayer中,还包含一个Fruit的CCArray,将Fruit的运动保持在Fruit类中。

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

我不知道它们是否可以实现。我目前正在编写第一个代码并以某种方式崩溃。你们有更好的主意吗?有一个共同的方法吗?

【问题讨论】:

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


    【解决方案1】:

    只有在水果出现后才会出现触摸,因为水果是唯一对触摸做出响应的对象。在水果存在之前,您的应用无法响应。

    查看Ray Wenderlich's 创建 Cocos2D-iPhone 应用的教程。

    我的建议是这样的:

    • 让图层响应触摸
    • 创建一个包含所有水果的“FruitManager”单例
    • 当您触摸屏幕时,[[FruitManager sharedFruitManager] allFruits] 将为您提供一份水果列表,以查看用户是否“触摸”过其中一个。

    Ray 的 Wack-A-Mole 游戏应该让您更接近您正在做的事情。他的 Ninja/Ghost 游戏也有拦截弹丸的规则 - 只需使用触摸即可。

    【讨论】:

    • 这是一个很好的资源,谢谢。我想我必须先完成这本书
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多