cocos2d启动/停止运行场景

时间:2012-02-23 18:16:32

标签: cocos2d-iphone 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];

}

1 个答案:

答案 0 :(得分:0)

为什么不在[self runScene]而不是stopScene结束时致电[[CCDirector sharedDirector] pushScene:scene]?听起来您希望场景重新加载,runScene在调用replaceScene时已经这样做。

无论哪种方式,您都应该创建一个新的场景节点并使用replaceScene(这是在runScene中完成的,这就是为什么我建议只调用它)。