2008-12-09 7 views
6

Ich möchte einen Übergang zwischen zwei Ebenen einrichten (nachdem eine Ebene abgeschlossen ist, benutze einen von cocos2ds glatten Übergang zum Übergang in die nächste Ebene). In meiner GameLayer-Implementierung habe ich Methoden eingerichtet, um Dinge wie [self buildLevel: 3] zu tun, um das Spielfeld zu erstellen. Was muss ich tun, um einen neuen GameLayer- oder Layer-Knoten oder einen GameScene- oder Szenenknoten zu instantiieren, z. B.:Übergänge und Einrichten von Ebenen/Szenen in cocos2d iPhone

GameLayer * nextLevelLayer;

[nextLevelLayer buildLevel: 4];

... macht einen Übergang zwischen der Stufe 3 und Stufe 4

Vielleicht habe ich meinen Code in einem völligen Mißverständnis von Objective C. angelegt ich Ihnen unter der Annahme eine neue GameLayer nicht Setup kann in der Init-Code, wie es hängt, kontinuierlich neue Knoten erstellt. Ich habe wahrscheinlich zu viel Spielfeld-Setup-Code in meinem Init-Code für den GameLayer, wie geht es euch normalerweise? Setzen Sie ein Flag, bevor Sie den Selektor für die Hauptschleife des Spiels festlegen, und wenn das Flag gesetzt ist, richten Sie das Level in der Hauptschleife des Spiels ein, oder gibt es einen besseren Weg dazu?

Vielen Dank im Voraus!

Antwort

14

Für diejenigen, die Pflege könnte, hier ist was ich tun endete:

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

Diese innerhalb der GameLayer Umsetzung erfolgte nach einer Ebene abgeschlossen war.

Verwandte Themen