Sinyaller, bu oyun motorunda olay işleme (event handling) ve iletişim için kullanılan önemli bir kavramdır. Sinyaller, bir nesnenin belirli bir olayın meydana geldiğini bildirmesine (emitting) ve bu olaya tepki veren başka nesnelerin bu sinyali dinlemesine olanak tanır.
Bu, özellikle oyunlar için; örneğin karakterlerin öldüğü, bir düşmanın vurulduğu veya bir kapının açıldığı gibi etkileşimlerin daha karmaşık olduğu durumlarda yararlıdır. Godot Signals, bu etkileşimleri daha kolay ve daha etkili bir şekilde ele almamızı sağlar.
Bir butona basıldığı anda (on pressed) hareket eden karakteri durdurmak istersek:
1) Sahneye bir karakter (sprite) ve bir buton ekleyin.
2) Butona tıkladıktan sonra yerleşimin sağ kısmında bulunan “Node” penceresinden, pressed() sinyalini seçerek script atayın.
extends Sprite var speed = 400 var angular_speed = PI func _process(delta): rotation += angular_speed * delta var velocity = Vector2.UP.rotated(rotation) * speed position += velocity * delta func _on_Button_pressed(): set_process(not is_processing())
set_process() fonksiyonu _process’i aktif ve pasif hale getirmemizi sağlamaktadır.