Hola a todos, estoy trabajando en un pequeño juego para un amigo que tiene un bar, la idea es tener varias instancias de una película Beer y que al entrar en contacto con un cliente(mc) si detecta que está en contacto (hitTestObject) reproduzca dentro de su timeline un frame con "salud", de lo contrario que reproduzca un frame en el cual el vaso se rompe. Me incliné por que lo mejor sería hacer un array para meter todos las instancias de Beer y además un loop para asignarles un nombre y que se comportarán independientemente de las otras, pero no he podido darle correctamente al clavo a la hora de deshacerme de ellas cuando las suelto sobre el cliente(o fallo), la solución es bastante imprecisa y tiende a fallar :oops: . Este es el código:


//Document Class
public var cervezas:Array = new Array();

//Esta función la llama un Timer en el constructor cada 2000 ms

public function callBeer(evt:TimerEvent):void
{

var beer:Beer = new Beer(0, 350);
cervezas.push(beer);
addChild(beer);
}

//La sgt función la llama un dispatchEvent(new Event("checkCollition", true)); que tengo en la Class Beer y que se dispara cuando suelto una jarra de cerveza (MOUSE_UP detiene el drag del objeto This).

addEventListener("checkCollition", checkCollition);

public function checkCollition(evt:Event):void
{
var currentBeerNumber:int = 0;
for(currentBeerNumber = 0; currentBeerNumber < cervezas.length; currentBeerNumber++)
{
var currentBeer:Beer = cervezas [currentBeerNumber];

if(currentBeer.hitTestObject(gaby))
{
currentBeer.gotoAndPlay("salud");
cervezas.splice(currentBeer);
currentBeer.parent.removeChild(currentBeer);
}else{
currentBeer.gotoAndPlay("broken");
cervezas.splice(currentBeer);
currentBeer.parent.removeChild(currentBeer);
}

}
}

Como dije el asunto es que como lo estoy haciendo es bastante impreciso, se quedan children sin borrar, empieza a dar problemas de objetos nulos, puff, y la verdad la veo demaciado desordenada, alguien sabe como manejar mejor esta situación de tener varias instancias de un MovieClip y que cuando detecten un hitTestObject actuen independientemente?.

De antemano gracias por cualquier ayuda o consejo en este tema. Saludos a todos.