【问题标题】:Update loop and buttons in cocos2d更新 cocos2d 中的循环和按钮
【发布时间】:2012-08-02 17:39:16
【问题描述】:

我有一个简单的月球着陆器游戏。 我通过集成计算位置和所有内容 - 例如每转一圈,我都会获取向量并将它们组合起来,然后将生成的向量应用于我的着陆器。

问题来了,我有一个按钮,我想用它来推力。 如何在更新方法期间检查它是否打开?我想我会有一些 BOOL 标志在按下按钮时设置为 YES,但我什么时候将其设置为 NO? 一些实际的实现会很棒。 我使用 cocos2d-iphone 和 iOS。

【问题讨论】:

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


    【解决方案1】:

    嗯,伪代码如下:

    1. 我们不应使用按钮(又名 CCMenuItem),因为它们仅在修饰事件时提供回调。我们想要触摸,触摸退出/进入,触摸结束。

    2. 在您正在显示的CCScene 中,添加一个新的子类,它是CCLayer 的子类,甚至使用CCScene 中已经存在的CCLayer 之一。

    3. CClayer 子类的 init 中,将 isTouchEnabled 设置为 YES

    4. 实现常用方法:
    - (void)ccTouchesBegan:... - (void)ccTouchesMoved:... - (void)ccTouchesEnded:... - (void)ccTouchesCancelled:...

    最后,用这些方法施展你的魔法吧。

    • 获取触摸位置
    • 使用CGRectContainsPoint检查触摸是否在推力区域内。
    • 等等,等等……

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 1970-01-01
      • 2021-05-25
      • 2018-05-02
      • 2022-01-14
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2014-03-23
      相关资源
      最近更新 更多