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.
Görev
OrtaAlınan her madeni paradan Main'i haberdar et.
coin.gdiçindesignal collectedbildir vequeue_free()öncesinde bu sinyali gönder.main.gdiçindeki_ready()işlevinde, her madeni paranıncollectedsinyalini yeni bir_on_coin_collected()işlevine bağla.- 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
6Proje: Para Toplayıcı
Para Toplayıcı: YürüPara Toplayıcı: ParalarKendi başına pratik yap: Godot playground