2008-12-09 62 views
6

我期待在兩個級別(一個級別完成後,使用cocos2d的光滑轉換之一轉換到下一級別)之間建立轉換。在我的GameLayer實現中,我有方法設置來執行諸如[self buildLevel:3]來構建遊戲區域。我需要做些什麼來實例化一個新的GameLayer或Layer節點或GameScene或Scene節點,以便能夠執行以下操作:在cocos2d中轉換和設置圖層/場景iPhone

GameLayer * nextLevelLayer;

[nextLevelLayer buildLevel:4];

...做3級和級別之間的過渡4

也許我在目標下的完全誤解奠定了我的代碼,我假設你不能設置在一個新的GameLayer init代碼,因爲它會掛起,不斷創建新的節點。我可能在我的GameLayer的init代碼中有太多的playfield設置代碼,你們通常如何處理它?在安排遊戲主循環的選擇器之前,你是否設置了一個標誌,然後如果該標誌已設置,在遊戲的主循環中設置關卡,還是有更好的方法去解決它?

在此先感謝!

回答

14

對於那些誰可能會關心,這是我落得這樣做:

GameScene * gs = [GameScene node]; 
[[Director sharedDirector] runScene: gs]; 
[[Director sharedDirector] replaceScene: [ShrinkGrowTransition transitionWithDuration:0.5 scene: gs]]; 

這是GameLayer實現內完成的水平完成之後。