2012-02-23 2 views
1

하나의 장면을로드하려고합니다. 처음에는 문제가 없지만 다시로드하려고하면 애니메이션이있는 흰색 사각형이 나타납니다.cocos2d 시작/중지 실행 장면

장면을 시작하고 중지하는 코드입니다. 내가 뭘 놓치고있어?

감사합니다. stopScene보다는 [[CCDirector sharedDirector] pushScene:scene]의 끝에

-(void)runScene:(OTAnimationCC2d *)animation 
{ 
    scene = [CCScene node]; 

    [scene addChild:animation]; 

    if ([[[CCDirector sharedDirector] runningScene] isRunning]) 
    { 
     [[CCDirector sharedDirector] replaceScene:scene]; 
    } 
    else 
    { 
     [[CCDirector sharedDirector] runWithScene:scene]; 
    } 

} 
-(void)stopScene 
{ 
    [[[CCDirector sharedDirector] runningScene] stopAllActions]; 
    [[[CCDirector sharedDirector] runningScene] removeAllChildrenWithCleanup:YES]; 
    [[CCDirector sharedDirector] pushScene:scene]; 

} 
+0

자세한 정보가 필요 ...이 메소드는 어떻게 호출되며 왜 stopScene의 끝에서 장면을 다시 자체로 푸시하고 있습니까? –

답변

0

왜 그냥 전화 [self runScene] ? 장면이 새로 불러 오기를 원하는 것처럼 들리 겠지만, 이라고 호출하면 runScene이 이미 수행합니다.

어쨌든 새로운 장면 노드를 만들고 replaceScene (runScene에서 수행되고 있으며, 나는 단지 이것을 호출하는 것이 좋습니다)을 사용해야합니다.

관련 문제