martes, 27 de mayo de 2025

Uso de un func _on_body_entered(body: Node3D) -> void: para borrar un proyectil cuando colisiona;

 extends Area3D


var score = 0

var speed = 15 # Unidades por segundo

var speed2 = 1 # Unidades por segundo

var tiempo_transcurrido = 0.0 # Tiempo en segundos


func _ready() -> void:

# Conecta la señal 'body_entered' a una función que manejará la colisión

body_entered.connect(_on_body_entered)


func _process(delta: float) -> void:

var movimiento = Vector3(0, speed2 * delta, speed * delta)

translate(movimiento)


tiempo_transcurrido += delta


if tiempo_transcurrido >= 10.0:

queue_free()


# Esta función se llamará cuando un cuerpo entre en esta área

func _on_body_entered(body: Node3D) -> void:

print("¡Colisión detectada con: ", body.name, "!")

queue_free() # Borra el nodo cuando colisiona

No hay comentarios:

Publicar un comentario