0

CCLayer次のようなサブクラスのインスタンスをローテーションしています。

[self runAction:[CCRotateBy actionWithDuration:0.5 angle:180.0]];

この回転は、ユーザーのタップに応答します(これは急速に発生する可能性があります)。レイヤーが現在回転しているかどうかを確認するにはどうすればよいですか?この場合、タップは無視できます。

4

1 に答える 1

1

CCAction を宣言するときに、それにタグ属性を設定してから、getActionByTag を使用してアクションを取得できます。戻り値が nil でない場合は、アクションが実際に実行されていることを意味します。

CCRotateBy *rotate = [CCRotateBy actionWithDuration:1.0 angle:100];
rotate.tag = 100;
[myNode runAction:rotate];
if ([myNode getActionByTag:100]) {
    NSLog(@"Rotating!!");
}
于 2012-04-25T20:27:08.970 に答える