Определите, вращается ли CCLayer в данный момент

Я вращаю экземпляр CCLayer подкласс, как это:

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

Это вращение происходит в ответ на нажатие пользователем (которое может произойти быстро). Как я могу определить, вращается ли слой в данный момент? В этом случае я могу просто игнорировать кран.

1 ответ

Решение

При объявлении CCAction можно установить для него атрибут тега, а затем получить действие с помощью getActionByTag. Если возвращаемое значение не равно nil, то это означает, что действие действительно выполняется.

CCRotateBy *rotate = [CCRotateBy actionWithDuration:1.0 angle:100];
rotate.tag = 100;
[myNode runAction:rotate];
if ([myNode getActionByTag:100]) {
    NSLog(@"Rotating!!");
}
Другие вопросы по тегам