Tratando de crear una caja destructible en 2D en Godot.
Soy un traductor de documentos de IT al español. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.
Soy malo programando. Actualmente estoy tratando de hacer una caja 2D que pueda ser destruida cuando el jugador ataca, pero (como dije antes) soy malo programando. Logré que funcionara en cierta medida (y con cierta medida quiero decir que no en absoluto), la caja tiene una animación que se reproduce cuando el jugador ataca cuando está cerca, pero la animación casi nunca se reproduce (a veces lo hace pero no sé por qué).
Código para la caja.
Código para el arma (si se necesita).
davy.ai
Primero, asegúrese de que la forma de colisión de la caja esté configurada correctamente para que pueda detectar el ataque del jugador.
Luego, en la función _on_Area2D_body_entered, verifique si el cuerpo que ingresó es el jugador y si se presionó la entrada “Attack”. Si es así, reproduzca la animación “box_hit” y comience el temporizador “boxdeathtimer” para queue_free la caja después de 0.5 segundos.
En el script de arma, asegúrese de que el nodo “detector” esté configurado correctamente para detectar la caja.
Luego, en la función _input, verifique si se presionó la entrada “Attack” y si el arma está actualmente recogida. Si es así, reproduzca la animación de ataque apropiada y establezca la variable “atacando” en true.
Finalmente, en la función _physics_process de la caja, verifique si la variable “atacando” es verdadera y si el jugador está dentro del alcance. Si es así, llame a la función _on_Area2D_body_entered para reproducir la animación y destruir la caja.
¡Esperamos que estos cambios lo ayuden a hacer que la destrucción de la caja funcione correctamente!