我有一个简单的月球着陆器游戏。我通过积分来计算位置和所有内容 - 例如,每转一圈我都会采用向量并将它们组合起来,然后将结果向量应用于我的着陆器。
问题来了,我有一个按钮,我想用它来推力。如何在更新方法期间检查它是否打开?我想我会有一些 BOOL 标志在按下按钮时设置为 YES,但我什么时候将其设置为 NO?一些实际的实现会很棒。我使用 cocos2d-iphone 和 iOS。
我有一个简单的月球着陆器游戏。我通过积分来计算位置和所有内容 - 例如,每转一圈我都会采用向量并将它们组合起来,然后将结果向量应用于我的着陆器。
问题来了,我有一个按钮,我想用它来推力。如何在更新方法期间检查它是否打开?我想我会有一些 BOOL 标志在按下按钮时设置为 YES,但我什么时候将其设置为 NO?一些实际的实现会很棒。我使用 cocos2d-iphone 和 iOS。
好吧,伪代码如下:
我们不会使用 Buttons(又名 CCMenuItem),因为它们仅在修饰事件时提供回调。我们想要着陆,触摸退出/进入,触摸结束。
在您CCScene
正在显示的内容中,添加一个新的子类,它是子类的子类,甚至CCLayer
使用CCLayer
.CCScene
在CClayer
子类的 init 中,设置isTouchEnabled
为YES
.
- (void)ccTouchesBegan:... - (void)ccTouchesMoved:... - (void)ccTouchesEnded:... - (void)ccTouchesCancelled:...
最后,用这些方法施展你的魔法。
CGRectContainsPoint
是否在推力区域内。