Estoy haciendo un jueguito estilo mario bross
Tengo un “Héroe” y un enemigo que se acerca hacia él gracias a una interpolación de movimiento que tiene al movie del enemigo (ésta lo hace ir de un lado a otro en un loop). El enemigo debe quitar una vida y hacer visible un clip dentro del “Héroe” al tocarlo y tiene su programación interna (dentro de otro movieclip que lo llamare zona sensible, está así ya que el enemigo es muy grande y solo necesito que se active el hitTest en una zona especifica) para poder duplicarlo y hacer otros recorridos con el mismo enemigo.
La programación de la zona activa del enemigo es:
onClipEvent (enterFrame) {
if (this.hitTest(_root.mcPlayer1.pierd_mc)) { //mcPlayer1 es el “Héroe” y pierd_mc es su zona sensible
_root.toco = true; // esta var hace que se active una función para quitar una vida
_root.mcPlayer1.nor_mc._visible = false; // estos son estados del personaje
_root.mcPlayer1.izq_mc._visible = false;
_root.mcPlayer1.der_mc._visible = false;
_root.mcPlayer1.loco_mc._visible = true;
trace("si");
}
if (not this.hitTest(_root.mcPlayer1)) {
_root.toco = false;
trace("no");
}
El problema que tengo es que esta programación me funciona con el primer enemigo que hice y luego ya no me sirve, pero a corroborar con el trace cuando toco a los enemigos nuevos que hago se ejecutan por lo tanto si me está reconociendo el hitTest, pero no me ejecuta ninguna de las demás acciones ni las que convierten las variables ni las que modifican las propiedades del objeto.
Alguien sabe si hay algún problema con el hitTest, o me hacen falta llenar algunos parámetros o alguna forma de hacer esto?
_________________
Andrés Calvachi
Diseñador Gráfico