Lo que yo hice fue mover la función set_explosion a mi script de disparo, luego agregué la animación de explosión a la cadena de enemigos y listo
#Script de disparo
extends RigidBody2D
func set_explosion(enemy): #Agregué el parámetro enemy para pasarle el nodo enemigo a la función
enemy.collision_mask = 0
enemy.collision_layer = 0
enemy.get_node("AnimatedSprite").animation = "explosion" #tuve que utilizar get_node porque al utilizar $AnimatedSprite no lo reconoce dentro del nodo
yield(enemy.get_node("AnimatedSprite"), "animation_finished")
enemy.queue_free()
func _on_Area2D_area_entered(area):
if area.is_in_group("enemy"):
set_explosion(area) #Misma función pero pasando el área como parámetro
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.