2011-03-14 58 views
0

我知道這裏有一個簡單的答案,但我確定無法正確執行它。來自多個控制器的呼叫方法

我正在製作一款遊戲,我有一個每個級別的控制器。當你擊敗關卡時,我需要一種方法來加載並顯示下一個關卡,即下一個控制器。我希望能夠從每個控制器使用相同的方法。

我的問題是我在哪裏創建方法,我該如何調用它?

我試過委託,把方法放在應用程序控制器等等,我只是無法弄清楚這一點。

回答

0

RoorViewContoroller或只是根控制器是你需要的。我也在研究遊戲,我正在使用Cocos2d-iphone遊戲引擎。我會告訴你它是如何工作的。有一個常見的類,實現爲Singleton,稱爲ССDirector。它是一個實例的根控制器。

//AppDelegate.m (entry point) 
//I run first scene from AppDelegate 
[[CCDirector sharedDirector] runWithScene: [MainMenu scene]]; 
.... 
//MainMenu.m 
//I change scene from Menu to Game Level 

- (void) runLevel: (int)level withTheme: (int)themeNo 
{ 
... 
    Class GameClass;   //I can run different levels 
... 
    [[CCDirector sharedDirector] replaceScene:[GameClass scene]]; 
} 

內部,CCDirector釋放電流控制器(MainMenu的),並保留剛剛創建(GameClass場景)。