Replace 了解cocos2d场景,它们是如何工作的?

Replace 了解cocos2d场景,它们是如何工作的?,replace,cocos2d-iphone,scene,Replace,Cocos2d Iphone,Scene,我对cocos2d中的场景创建和替换有些困惑,所以我想问一下我到底误解了什么。我有一个带有一些小游戏的游戏(除了场景交换,很遗憾),现在,如果我必须从cocos2d场景作为菜单开始,我不会有任何问题,但是因为我是从UIKit开始做的,我真的需要更好地了解场景是如何工作来修复它的 首先,是否需要在appDelegate中启动场景?由于我从UIkit开始,并且场景必须在您选择游戏后显示(例如,从3个选项中选择),我应该在appDelegate中放置哪个场景?具体在哪里?我用这种方法放置场景: -(v

我对cocos2d中的场景创建和替换有些困惑,所以我想问一下我到底误解了什么。我有一个带有一些小游戏的游戏(除了场景交换,很遗憾),现在,如果我必须从cocos2d场景作为菜单开始,我不会有任何问题,但是因为我是从UIKit开始做的,我真的需要更好地了解场景是如何工作来修复它的

首先,是否需要在appDelegate中启动场景?由于我从UIkit开始,并且场景必须在您选择游戏后显示(例如,从3个选项中选择),我应该在appDelegate中放置哪个场景?具体在哪里?我用这种方法放置场景:

-(void) directorDidReshapeProjection:(CCDirector*)director
{

    if(director.runningScene == nil) 
        //start scene
}
如果我放置第一个场景,UIKit部分工作正常,当我作为第一选择开始“第二个游戏”(假设我们先玩这个游戏)时,我得到了OpenGL 0x0506错误,然后场景开始

如果我放置第一个场景,我选择第一个游戏,然后退出并选择第二个游戏,场景将被正确替换,而不会出现该错误

如果我放第一个场景,我启动“游戏1”,它会工作(显然),因为他加载了场景,但我不知道哪个游戏将作为第一个用户启动


我尝试在appDelegate加载一个“简介场景”,但我遇到了同样的问题。基本上,问题是“如果您有多个场景,但不知道将首先调用哪个场景,如何启动场景”…

iOS入门文档将真正解决这些问题。你可以在developer.apple.com上找到它-

它解释了AppDelegate实际上是什么,以及如何正确使用AppDelegate。目前还不清楚如何将UIKit和cocos2d混合使用,但上面的链接为我澄清了很多。另一个非常有用的资源是Ray Wenderlich的教程-


从鸟瞰图来看,CCDirector从UIWindow继承。混合使用UIKit和cocos2d非常简单,只需使用UIKit构建界面,然后在某个时候打开一个UIKit窗口并允许CCDirector启动cocos2d。从某种意义上说,组件几乎是两个完全独立的实体

老实说,即使我感谢你的回答,也没有什么能回答我的问题,我之前看过的教程是向rootViewController添加场景,基本上与appdelegate做的相同,我知道如何从viewController启动场景,在该教程中,他总是启动相同的第一个场景,我的问题是,我有更多(和不同)的场景可以作为第一个加载(取决于你选择的游戏),我不知道如何处理它们,这就是问题所在。你可以看看这个问题,答案显示你将如何在XNA中实现你的愿望。