2013-06-18 9 views
0

저는 cocos2d와 cocosBuilder를 사용하고 있습니다. 시작 애니메이션을 실행하려고하고 나서 애니메이션이 끝나면 모든 자식 노드가 유휴 애니메이션을 수행하게 만듭니다.completedAnimationSequenceNamed가 반복적으로 호출되고 있습니다.

내가 시작 애니메이션을하고 있어요 방법

:

(무효) {

[super onEnter]; 

CCLOG(@"onEnter being called"); 

// Schedule a selector that is called every frame 
[self schedule:@selector(update:)]; 

// Make sure touches are enabled 
self.touchEnabled = YES; 

//intro animation 
CCBAnimationManager* animationManager = self.userObject; 
animationManager.delegate = self; 

[animationManager runAnimationsForSequenceNamed:@"words"]; 

}

onEnter을이 내 completedAnimationSequenceNamed는 모습입니다 같은 :

(무효) completedAnimationSequenceNamed : (NSString *) name {

CCLOG(@"animation ended"); 

for(CCNode *c in [self children]) 
{ 
    if([c isKindOfClass:[GameObject class]]) 
     [c playIdleAnimation]; 
} 

} 어떤 이유

은 내 completedAnimationSequenceNamed 내 아이들이 끊임없이 유휴 애니메이션을 다시 시작하는 원인이 두 번째, 반복적으로 여러 번 호출되고있다.

아이디어가 있으십니까?

답변

1

나는이 문제를 해결하기 위해 노력하고있다.

"(void) completedAnimationSequenceNamed : (NSString *) name"메서드가 제대로 작동하려면 animationManager에서 애니메이션을 실행하는 대신 자동으로 (cocosBuilder 프로젝트에서) 애니메이션을 시작해야합니다.

animationManager에서 runAnimation 메서드를 사용한 경우 콜백 메서드가 손상되었습니다. 그러나 나는 이것을 꺼내서 애니메이션을 자동으로 실행 시켰고 예상대로 콜백했다.

관련 문제