在Cocos2D中,我如何检测手指被按下?

时间:2011-04-23 20:03:26

标签: iphone objective-c cocos2d-iphone

我知道- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)事件方法,但想知道我是如何经常做某事的,例如在手指停止时移动精灵?

3 个答案:

答案 0 :(得分:7)

你可以像Gajet那样做,或者如果你的动作是不变的,你可以安排你的行动。所以假设你有这种移动方法:

-(void)moveSprite:(ccTime) dt {

  // move your sprite here by small increments
}

然后在您提到的ccTouchBegan:方法中,您安排了移动方法[self schedule:@selector(moveSprite:)],并在ccTouchEnded中取消预定[self unschedule:@selector(moveSprite:)]这将在您结束触摸时停止动作。希望这有帮助

答案 1 :(得分:5)

你只需要在调用ccTouchBegan时将布尔值设置为true,并且当ccTouchEnd被调用时set为false,那么当调用ccTouchMove事件时你只需要查看天气你的国旗是不是真的。

答案 2 :(得分:2)

实现适当的UIGestureRecognizer子类。您将被收到一个开始或已更改或已结束的事件 - 并可能会采取相应行动。