2011-11-11 35 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