1 Pluspunkt 0 Minuspunkte

Ich erstelle einen Timer für visuelle Effekte die nach einer bestimmten Zeit aus der Szene verschwinden.

var timer = Timer.new()
timer.wait_time = 2.0  # seconds
timer.one_shot = true  
timer.timeout.connect(decal.queue_free)
get_tree().root.add_child(timer)
timer.start()

Aber im Scenetree bleiben die Timer auch nach Ablauf weiter bestehen. 

Wie kann ich diese Timer entfernen um Resourcen zu sparen?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst mit einer anonymen Lamda Funktion das Decal und den Timer gleichzeitig entfernen.

timer.timeout.connect(func():
    decal.queue_free()  
    timer.queue_free() 
)
von (566 Punkte)