2008-12-09 10 views
6

Szukam ustawienia przejścia między dwoma poziomami (po ukończeniu jednego poziomu, użyj jednego z gładkich przejść cocos2d, aby przejść do następnego poziomu). W mojej implementacji GameLayer, mam ustawienia metod, aby zrobić rzeczy takie jak [self buildLevel: 3], aby zbudować pole gry. Co muszę zrobić, aby utworzyć nowy element GameLayer lub węzeł warstwy lub GameScene lub węzeł sceny, aby móc wykonywać takie czynności, jak:Przejścia i konfiguracja warstw/scen w cocos2d iPhone

GameLayer * nextLevelLayer;

[nextLevelLayer buildLevel: 4];

... zrobić przejście pomiędzy poziomem poziom 3 i 4

Może mam rozplanowane mój kod w kompletnym niezrozumieniu Objective C jestem przy założeniu nie można skonfigurować w nowej GameLayer kod init, ponieważ zawiesi się, ciągle tworzy nowe węzły. Prawdopodobnie mam zbyt wiele kodu instalacyjnego playfielda w moim kodzie startowym dla GameLayera, jak to zwykle robicie? Czy ustawiasz flagę przed zaplanowaniem selektora dla głównej pętli gry, a jeśli flaga jest ustawiona, ustaw poziom w głównej pętli gry, czy jest lepszy sposób na jej wykonanie?

Z góry dziękuję!

Odpowiedz

14

Dla tych, którzy mogą dbać, oto co skończyło się robi:

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

Zrobiono to w ramach realizacji GameLayer po poziom był kompletny.