2011-11-11 37 views
0

我开始为iPhone学习Cocos2D。我看到基本模板有一个viewController,但是当它运行时,它会加载HelloWorldLayer,而不是viewController视图。iPhone Cocos2D - 在哪里加载代码?

当您使用viewController时,您曾经在.m上拥有该控制器的主逻辑,但是由于Cocos2D以另一种方式工作,我不知道应该在哪里放置主逻辑代码。

我的意思是这个。使用Cocos2D进行开发我将拥有一大堆这些“图层”文件,当我通过场景时,其中一个文件将一次处于活动状态,但现在想象我正在构建一个具有应用内购买或coredata的应用。我必须有一个中心位置,这个共同的逻辑来处理销售和数据库应该驻留。最佳实践在哪里?把它放在viewController上创建Cocos2D还是什么?你是怎样做的?

我在哪里放置代码,以便在应用程序运行时和显示第一个场景之前初始化?

感谢

回答

2

在cocos2d启动代码是在应用程序委托的applicationDidFinishLaunching方法。所以你可能想要在那里初始化你的加载代码。

您遇到的问题可能是由于Cocos2D对视图控制器的设置不正确,导致视图控制器的viewDidLoad方法不被调用。您可以手动调用,从然而在applicationDidFinishLaunching,行之后:rootViewController.view = glView

你会发现很多流人这这里更多的光线教程:http://www.raywenderlich.com/

+0

感谢。手动拨打电话是什么意思?在applicationDidFinishLaunching结束时,我看到[viewController setView:glView],然后[window addSubview:viewController.view],即使如此,viewController的viewDidLoad不会被调用...任何想法?谢谢。 – SpaceDog

+0

这是因为Cocos2D不遵循这个指导原则:http://stackoverflow.com/questions/1479576/viewdidload-not-called-in-subclassed-uiviewcontroller 要解决这个问题,只需在这一行后自己调用viewDidLoad:\t \t rootViewController .view = glView; [rootViewController viewDidLoad]; – LearnCocos2D