Foros del Web » Creando para Internet » Flash y Actionscript »

Detectar colisiones múltiples

Estas en el tema de Detectar colisiones múltiples en el foro de Flash y Actionscript en Foros del Web. Hola, necesito solucionar cómo poder gestionar colisiones múltiples entre instancias de un mismo movieclip. Para poneros en situación, se trata de un escenario con vista ...
  #1 (permalink)  
Antiguo 24/10/2007, 11:10
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 14 años, 6 meses
Puntos: 3
Detectar colisiones múltiples

Hola, necesito solucionar cómo poder gestionar colisiones múltiples entre instancias de un mismo movieclip.

Para poneros en situación, se trata de un escenario con vista isométrica donde hay 10 instancias de un movieclip llamado persona (un hombrecillo) que tienen que moverse aleatoriamente en ese pequeño escenario. Los nombres de instancias son persona1, persona2, persona3.... Cada instancia tiene su profundidad, y si no se hace nada, obviamente al alejarse los hombrecillos con mayor profundidad, seguirán apareciendo por encima de los de menor aunque en realidad los primeros estén más lejos en la vista isométrica, lo cual queda fatal.

Estaba pensando cómo plantearme el intercambio de profundidades, pero no doy con una solución óptima para este caso donde hay muchas colisiones y has de saber cuál choca con cuál.

He de decir que el movieclip persona está asociado a la clase Persona, que también me he creado. Y quería hacer un método de clase para que la instancia actual compruebe si hay colisión con otra.

Entonces, dos son las principales dudas que me surjen:

1 - ¿Es necesario echar mano de un manejador de evento, por ejemplo el onEnterFrame, y del hitTest, para que esté haciendo la comprobación constantemente durante cada fotograma? o se puede implementar con Listener?

2 - Si no queda más remedio que hacerlo con manejador, ¿cómo se puede hacer de una manera no muy engorrosa dentro de un método de la clase Persona para que la instancia en la cual hay colisión sepa cuál es la instancia que ha colisionado con ella y si fuera necesario intercambiar sus profundidades?


Espero que alguien me eche una mano. Os lo agradecería mucho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.