Godot Engine – Sinyaller

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.