0
UIPanGestureRecognizer를 사용하여 팬/스 와이프를 감지합니다. 스 와이프가 완료되고 터치가 끝나면 NSSet의 12 CCNodeColors에서 CCAction을 실행합니다.루프 스루 배열 : 모든 요소에 대한 CCAction, 작업 완료 후 하나의 콜백 만 가능
CCActions가 실행되는 동안 UIPanGestureRecognizer를 비활성화하므로 이전 애니메이션이 계속 실행되는 동안 사용자가 스 와이프 할 수 없습니다. CCActions가 끝나면 UIPanGestureRecognizer를 다시 활성화합니다.
문제 :*callback
동작은 12 회를 실행합니다. 따라서 UIPanGestureRecognizer는 다른 11 개의 작업이 완료되기 전에 활성화됩니다. *move
작업이 완료된 후 *callback
만 실행하는 가장 좋은 방법은 무엇입니까?
if (sender.state == UIGestureRecognizerStateEnded) {
sender.enabled = NO;
for (CCNodeColor *node in nodeSet) {
CCActionMoveTo *move = [CCActionMoveTo actionWithDuration:1.0 position:newPosition];
CCActionCallBlock *callback = [CCActionCallBlock actionWithBlock:^{
sender.enabled = YES;
}];
CCActionSequence *seq = [CCActionSequence actionWithArray:@[move, callback]];
[node runAction:seq];
}
}