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!
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.
¡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!
¡MUCHAS GRACIAS! Problema resuelto, me habéis sido de gran ayuda ^^