0

我对 cocos2d 中的场景创建和替换感到困惑,所以我要准确地问一下我似乎误解了什么。我有一个带有一些小游戏的游戏(可悲的是,除了场景交换之外,它可以正常工作),现在,如果我必须从 cocos2d 场景作为菜单开始执行此操作,我不会有任何问题,但是因为我是从UIKit 我真的需要更好地了解场景是如何修复它的。

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

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

    if(director.runningScene == nil) 
        //start scene
}

如果我放置第一个场景,UIKit 部分运行良好,当我启动“游戏编号 TWO”作为首选时(假设我们首先玩这个游戏)我得到了 Open GL 0x0506 错误,然后场景开始。

如果我放第一个场景,我选择了第一个游戏,然后退出并选择了第二个游戏,场景被正确替换而没有错误。

如果我放置第一个场景,然后启动“游戏编号 1”,它会起作用(显然),因为他已经加载了场景,但我不知道哪个游戏将首先作为用户启动。

我尝试在 appDelegate 加载“介绍场景”,但遇到了同样的问题。问题基本上是“如果您有多个场景并且不知道哪个场景将被称为第一个场景,如何开始场景”......

4

1 回答 1

0

“iOS 入门”文档将真正解决很多这些问题。您可以在 developer.apple.com 找到它 - https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007072

它解释了 AppDelegate 实际上是什么,以及如何正确使用它。目前还不清楚如何混合 UIKit 和 cocos2d,但上面的链接让我明白了很多。另一个非常有用的资源是 Ray Wenderlich 的教程 - http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit

从鸟瞰的角度来看,CCDirector 继承自 UIWindow。混合 UIKit 和 cocos2d 就像使用 UIKit 构建界面一样简单,然后在某个时候打开一个 UIWindow 并允许 CCDirector 启动 cocos2d。从某种意义上说,这些组件几乎充当了两个完全独立的实体。

于 2013-04-27T01:42:12.607 回答