cocos2d запустить / остановить запуск сцены - PullRequest
1 голос
/ 23 февраля 2012

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

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

спасибо.

-(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];

}

1 Ответ

0 голосов
/ 20 июня 2013

Почему бы просто не позвонить [self runScene] в конце stopScene, а не [[CCDirector sharedDirector] pushScene:scene]?Похоже, вы хотите, чтобы сцена обновилась заново, что ваш runScene уже делает, когда вызывает replaceScene.

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

...