estoy haciendo mi primer juego con Box2D y recientemente he dado el salto a AS3 (muchos años con AS2 me han hecho mucho daño...), el caso es que me encuentro con problema que es mas de AS3 que de Box2D pero si alguno ha trabajado con Box2D lo entenderá mejor, me explico
tengo mi clase de documento "main" que extiende MovieClip
tengo una clase que es Bloque, que creo pasándole un Sprite y un b2Body
bien, en main, tengo una método de clase (static function, vamos) tal que este:
Código ActionScript :
public static function tiempoFinalizado():void {
for (var i:int = arraySprites.length-1; i >= 0; i--) {
if (arraySprites[i] is Bloque) {
arraySprites[i].borraSprite();
arraySprites[i].borraBody();
//removeChild(arraySprites[i]);
}
}
}
los métodos borraSprite() y borraBody() son del la clase Bloque y funcionan perfectamente, elimino los listeners del sprite, borro el sprite y destruyo el body, todo perfecto.
El problema es que dentro de esta function no me deja hacer un removeChild para cargarme la instancia de Bloque, es decir, habría borrado su contenido (Sprite, b2Body) pero quedaría la instancia vacía en el escenario, lo cual no es buena idea... (lo tengo comentado para que no me salte el mensaje de error que da,
Código ActionScript :
1180: Call to a possibly undefined method removeChild
Igual es algo básico, pero como aún estoy relativamente empezando en AS3 y nunca me había ocurrido esto pues no se por donde salir... ¿alguien puede echarme un cable? ¿Como puedo hacer un removeChild() en esa static function para eliminar por completo todo rastro del Bloque?
Gracias por adelantado y espero que se entienda el problema
