Menu
CoddyTech

Para Toplayıcı: Toplananlar

Coddy'nin Godot Journey'sinin Sinyaller ve Çarpışmalar bölümünün bir parçası. Ders 25 / 27.

main.gd, oyunda kaç madeni para kaldığı gibi kuralları tutar. Main, aldığın her madeni paradan haberdar olmalıdır. Bu yüzden her madeni para bir sinyal gönderir ve Main bunların tümünü dinler.

coin.gd içinde signal collected tanımla ve madeni para kendisini silmeden hemen önce sinyali gönder:

if body.is_in_group("player"):
	collected.emit()
	queue_free()

main.gd içinde, dikenlerde yaptığın gibi gruptaki her madeni paraya bağlan:

for coin in get_tree().get_nodes_in_group("coins"):
	coin.collected.connect(_on_coin_collected)

Bu, Main'in _ready() işlevinde çalışır; çünkü Godot, çocuk düğümleri üst düğümlerinden önce hazırlar. O zamana kadar tüm madeni paralar gruba katılmış olur.

challenge icon

Görev

Orta

Alınan her madeni paradan Main'i haberdar et.

  1. coin.gd içinde signal collected bildir ve queue_free() öncesinde bu sinyali gönder.
  2. main.gd içindeki _ready() işlevinde, her madeni paranın collected sinyalini yeni bir _on_coin_collected() işlevine bağla.
  3. Bu işlevin Got a coin! yazdırmasını sağla.

“Oyna” düğmesine bas ve bir madeni paranın üzerinden yürü: Konsol'da Got a coin! görünür. Ardından “Kontrol et” düğmesine bas.

Kendin dene

extends Node2D

func _ready():
	pass

Sinyaller ve Çarpışmalar bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground