我有一个 UISplitviewController 应用程序,其结构类似于此问题中的图片:
带有情节提要的 iPad 上的 UISplitViewController?
当我点击游戏 #1 或游戏 #2 时,它们各自的游戏就会运行。但是,如果我单击第二个游戏(#1 或#2),我会收到此错误:
由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'你不能运行一个场景 如果另一个场景正在运行。改用 replaceScene 或 pushScene '
如何检查是否已经存在 Cocos2d 场景并在单击第二个游戏时替换它?理想情况下,我认为我应该让两个游戏都运行,以便用户可以点击返回到另一个游戏。这可能吗?
我试图简单地替换这一行:[director runWithScene:scene];
用这一行:[director replaceScene:scene];
不幸的是,我在方法中收到错误 CCTextureAtlas.m:
-(void)drawNumberOfQuads:(NSUInteger)n fromIndex:(NSUInteger)开始{...}
[更新]
我想我可能需要停止现场,以便正确清理所有内容。例如,当我单击帮助屏幕时,我的控制器的 viewWillDisappear 会被调用。在 Cocos2d 视图控制器之间切换时不会发生这种情况。
遵循这些说明,并且只创建一次 EAGLView 后,我几乎可以正常工作,但是第二个场景出现黑屏。请注意,我确实简要地看到了新场景。