我正在尝试加载一个场景。第一次运行正常,但是当我再次尝试重新加载时,会出现一个放置动画的白色方块。
这是启动和停止场景的代码。我缺少什么?
感谢。
-(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 :(得分:0)
为什么不在[self runScene]
而不是stopScene
结束时致电[[CCDirector sharedDirector] pushScene:scene]
?听起来您希望场景重新加载,runScene
在调用replaceScene
时已经这样做。
无论哪种方式,您都应该创建一个新的场景节点并使用replaceScene
(这是在runScene
中完成的,这就是为什么我建议只调用它)。