0

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

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

4

1 回答 1

1

好吧,伪代码如下:

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

  2. 在您CCScene正在显示的内容中,添加一个新的子类,它是子类的子类,甚至CCLayer使用CCLayer.CCScene

  3. CClayer子类的 init 中,设置isTouchEnabledYES.

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

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

  • 获取触摸位置
  • 使用触摸检查CGRectContainsPoint是否在推力区域内。
  • 等等等等...
于 2012-08-02T17:56:49.217 回答