Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/08/2012, 01:46
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Eliminar objetos del escenario

Daniela, veo que tienes un poco de descontrol en tu juego. Te aconsejo estructurarlo todo bien para que la cosa sea más sencilla.

En tu caso, veo que todos tus personajes son de la misma clase, y lo que los diferencia es el frame en el que se encuentran.

Bien, la idea principal es que debes meter todos tus personajes en un sprite. Los sprites no sé si los conoces pero son como contenedores invisibles donde tu puedes ir poniendo un tipo de objeto; de esa manera luego te será mucho más fácil manejarlos al encontrarse todos "juntos" y no "sueltos de cualquier manera"

Para meter los personajes en el sprite, lo único que tienes que hacer es crearlo al principio de tu código.

Código as3:
Ver original
  1. var personajesSprite:Sprite = new Sprite();
  2. addChild(personajesSprite);

Ya está, solo tienes que acordarte de que tienes que añadirlo al escenario con addChild.
Ahora lo único que tienes que hacer es cambiar tu código un poquito.
Cuando añadas un personaje nuevo, en vez de:

addChild(pj);

deberías poner:

personajesSprite.addChild(pj);

De esa manera en vez de añadirlo al escenario lo añade directamente al sprite.
Ahora, cuando quieras pasar de nivel, puedes directamente borrar ese sprite:

removeChild(personajesSprite);

y se borrará todo lo que tenga dentro. Para el siguiente nivel puedes crear uno nuevo y volver a empezar todo el proceso.

Lo de mandarlos a un frame invisible es un parche, jeje, pero no es algo bueno.

Espero que te sirva esta idea, si no te quedó algo claro preguntame o busca info sobre sprites en google.

Gonzalo.