2012-02-23 71 views
1

我试图加载一个场景。这在第一次运行良好,但是当我尝试重新加载时,会出现放置动画的白色方块。cocos2d启动/停止运行场景

这是启动和停止场景的代码。我错过了什么?

感谢。

-(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结束时将场景推回自己。 – 2012-02-23 19:21:29

回答

0

为什么不就叫[self runScene]stopScene而非[[CCDirector sharedDirector] pushScene:scene]结束了吗?这听起来像是你想让场景重新加载,当你拨打replaceScene时,你的runScene已经完成了。

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