Cocos2d iphone 尝试检测CCSprite的触摸结束和触摸移动
我有一个CCSprite子类,最初我用 所以我有以下代码:Cocos2d iphone 尝试检测CCSprite的触摸结束和触摸移动,cocos2d-iphone,Cocos2d Iphone,我有一个CCSprite子类,最初我用 所以我有以下代码: -(void)onEnter { [super onEnter]; [[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; } -(void)onExit { [super onExit]; [
-(void)onEnter {
[super onEnter];
[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
}
-(void)onExit {
[super onExit];
[[[CCDirector sharedDirector] touchDispatcher] removeDelegate:self];
}
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
if ([self containsTouch:touch]) {
// do stuff
return YES;
}
return NO;
}
但后来我意识到我实际上不想使用TouchBegind,因为我想检测是否有精灵被向下拖动——所以我想使用touchMoved和touchEnded而不是TouchBegind
但是,当我实现这些方法时,它们不会被调用
我怎么知道精灵的触摸何时结束,是否被“刷”过
ApplicationIDFinishLaunching:application
方法中,将多点触摸设置为YES:[glView SetMultipleTouched:YES]代码>
然后在CCLayer子类(用于检测触摸的类)的init方法中,添加self.isTouchEnabled=YES代码>
现在应该调用您的多点触控方法
ApplicationIDFinishLaunching:application
方法中,将多点触摸设置为YES:[glView SetMultipleTouched:YES]代码>
然后在CCLayer子类(用于检测触摸的类)的init方法中,添加self.isTouchEnabled=YES代码>
现在应该调用您的多点触控方法
为了让调度器调用您的方法(移动、结束、取消),您必须首先声明触摸,即您将处理事件。这是在CCTouchStart中完成的,当您返回YES时。之后,您将收到其他事件。为了让调度器调用您的方法(移动、结束、取消),您必须首先声明触摸。您将处理这些事件。这是在CCTouchStart中完成的,当您返回YES时。之后,您将收到其他事件。-my touchable Subcass of CCSprite with Objective-C blocks,您可以使用touchMoved来检测所需内容。-my touchable Subcass of CCSprite with Objective-C blocks,您可以使用touchMoved来检测所需内容