Noviembre 24, 2012, 06:04:56 PM Ultima modificación: Noviembre 25, 2012, 03:56:11 PM por Taboo
El problema es el siguiente, le he dicho a al objeto "bullet" que al colisionar con el objeto "enemy_1" > "Destroy Instance" > Change Sprite into explosion_1.

El caso es que lo consigo hacer, pero a la hora de la explosión, este se repite. ¿Cómo consigo que sólo muestre la explosión una sola vez y destruya al enemigo?

Gracias de antemano.

Abre tu objeto "explosión", y haz click en "Add event" > Other > Animation end.
Ahí, puedes poner que el objeto se destruya. Se destruirá cuando la animación de la explosión acabe.


¡Saludos!
w f t g+

Creo que no tienes un objetoExplosion para hacer lo que dice Daz, igualmente esa es la mejor manera.En la colision, puede ser en bullet o en el enemigo debes destruir ambos objetos, y en el Destroy Instance creas un objeto explosion que sea como dijo Daz.
Cita de: Fenris78Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: CalioSomos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.

¡Ah! Es verdad, Maitreya. Buen ojo :)
Si no tienes un objeto "explosión" y lo que haces es cambiarle el sprite al objeto bullet, puedes hacer lo mismo que dije arriba, pero en este caso en el objeto bullet, y añadiendo:

[gml]
if (sprite_index=sprExplosion)
{
    instance_destroy();
}
[/gml]

En el evento Animation end del objeto bullet. Pero como recomendación y como bien dice Maitreya, lo suyo es crear un nuevo objeto, o vas a tener un pequeño lío de colisiones y tal (porque, aunque el sprite cambie, el objeto sigue siendo el mismo y va a funcionar de la misma manera).


¡Saludos!
w f t g+

¡MUCHAS GRACIAS! Problema resuelto, me habéis sido de gran ayuda ^^