本当に申し訳ありませんが、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");
}
レイヤーファイルとcocosNodeファイル、および他の多くのことで、と、の両方BOOL
を試しました。何も起こりません。ログには何も表示されず、アニメーションはその陽気な方法で続行されます。私は何が間違っているのですか?void
ccTouchesBegan
touchesBegan