2012-02-23 5 views
1

Я пытаюсь загрузить одну сцену. Это выполняется в первый раз, но когда я пытаюсь перезагрузить снова, появляется белый квадрат, где размещена анимация.cocos2d start/stop running Сцена

Это код запуска и остановки сцены. Что мне не хватает?

спасибо.

-(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] в конце stopScene, а не [[CCDirector sharedDirector] pushScene:scene]? Похоже, вы хотите, чтобы сцена перезагружалась, что ваш runScene уже делает, когда он вызывает replaceScene.

В любом случае вы должны создать новый узел сцены и использовать replaceScene (что делается в runScene, и именно поэтому я рекомендую просто называть это).

Смежные вопросы