Transiciones y configuración de capas / escenas en iPhone cocos2d

votos
6

Estoy buscando configurar una transición entre dos niveles (después de que se complete un nivel, use uno de la transición resbaladiza de cocos2d para pasar al siguiente nivel). En mi implementación de GameLayer, tengo métodos de configuración para hacer cosas como [self buildLevel: 3] para construir el campo de juego. ¿Qué debo hacer para crear una instancia de un nuevo nodo GameLayer o Layer o un nodo GameScene o Scene para poder hacer cosas tales como:

GameLayer * nextLevelLayer;

[nextLevelLayer buildLevel: 4];

... hacer una transición entre el nivel 3 y el nivel 4

Tal vez expuse mi código en un completo malentendido del Objetivo C. Estoy asumiendo que no se puede configurar un GameLayer nuevo en el código de inicio, ya que se bloqueará, creando continuamente nuevos nodos. Probablemente tengo demasiado código de configuración de campo de juego en mi código de inicio para el GameLayer, ¿cómo ustedes usualmente lo manejan? ¿Establece una bandera antes de programar el selector para el bucle principal del juego, luego, si la bandera está configurada, configure el nivel en el bucle principal del juego, o hay una mejor manera de hacerlo?

¡Gracias por adelantado!

Publicado el 09/12/2008 a las 23:02
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
14

Para aquellos a quienes les pueda importar, esto es lo que terminé haciendo:

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

Esto se hizo dentro de la implementación GameLayer después de completar un nivel.

Respondida el 11/12/2008 a las 16:02
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more