1

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

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

谢谢。

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

}
4

1 回答 1

0

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

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

于 2013-06-20T17:05:50.427 回答