Mostrando entradas con la etiqueta instancia borra enemigo por tiempo. Mostrar todas las entradas
Mostrando entradas con la etiqueta instancia borra enemigo por tiempo. Mostrar todas las entradas

viernes, 25 de abril de 2025

GDScript , instancia borra enemigo por tiempo, cambia un $CollisionShape3D2.translate(Vector3(0, 1111, 0));

 extends Area3D

# var Esferauno = preload("res://PERSONAJES MACABROS/ARAÑA/EXPLOTADA ARAÑA.tscn")

var Esferauno = preload("res://ENEMIGO MUERTO/ene_5enemigo_muerto-4-.tscn")

# var EsferaDOS = preload("res://CONSTRUCCIONES/rigid_body_3d_piedra_cae-3-.tscn")


# Called when the node enters the scene tree for the first time.

func _ready() -> void:

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta: float) -> void:

# translate(Vector3(0,0,-0.001))

pass



func _on_area_entered(area: Area3D) -> void:

var parent = get_parent()

var CollisionShape3Dcubo = parent.get_node("$CollisionShape3D2")


var esfera_uno_instancia = Esferauno.instantiate()

add_child(esfera_uno_instancia)


# $"." .queue_free()

#$CollisionShape3D2.queue_free()

$CollisionShape3D2.translate(Vector3(0, 1111, 0))

pass # Replace with function body.



func _on_area_exited(area: Area3D) -> void:

# $"." .queue_free()

call_deferred("_delayed_queue_free")

pass # Replace with function body.


func _delayed_queue_free():

await get_tree().create_timer(5.9).timeout

if is_instance_valid(self):

queue_free()

------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------

Explicacion: Desarrollando nuevo juego me encuentro con dificultades al destruir enemigos e instanciar la replica del mismo con otra animacion simulando su muerte, e de consultar constantemenete a la IA de programacion y e de hacer yo mismo cambios en los GDScript, por problemas y BUGS, en este caso parece logre una solucion con esta linea y moviendo en eje "y" hacia arriba un $CollisionShape3D2.translate(Vector3(0, 1111, 0))-----un CollisionShape3D2---- que me hacia bloquear el juego, al cambiarlo por un $CollisionShape3D2.translate(Vector3(0, 1111, 0)) me quitaba el problema de bloquear el juego y la linea original esta de aqui----$CollisionShape3D2.queue_free()----me lo bloqueba, seguramente es una chapuza pero si me resuelve el problema y el juego rueda con la solucion pues fenomeno.