真的很抱歉,我意识到有几个关于 cocos2d 触摸检测的问题(包括这个对我有帮助的答案),但我无法让它们中的任何一个工作。我会评论我链接的答案,而不是问我自己的问题,但我没有足够的代表来发表评论。
我要做的就是在用户点击屏幕上的任意位置时立即停止动画。
到目前为止,这是我的代码:
- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touches Began");
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView: [touch view]];
location = [[Director sharedDirector] convertCoordinate: location];
CGRect mySurface = (CGRectMake(100, 100, 320, 480));
if(CGRectContainsPoint(mySurface, location)) {
NSLog(@"Event Handled");
return kEventHandled;
[[Director sharedDirector] stopAnimation];
}
return kEventIgnored;
NSLog(@"Event Ignored");
}
我已经在 layer 文件和 cocosNode 文件中尝试了BOOL
and void
,ccTouchesBegan
and ,以及许多其他东西。touchesBegan
没发生什么事。日志中没有显示任何内容,动画继续其快乐的小路。我究竟做错了什么?