Kendi Sinyalin
Coddy'nin Godot Journey'sinin Sinyaller ve Çarpışmalar bölümünün bir parçası. Ders 7 / 27.
Bir düğüme kendi sinyallerini verebilirsin. Betiğin en üstünde signal ile bir sinyal tanımla:
extends Area2D
signal hitOlay gerçekleştiğinde emit() ile gönder:
func _on_body_entered(body):
hit.emit()Daha eski kodlarda emit_signal("hit") kullanılabilir. Aynı işi yapar.
Dikenler yalnızca birinin darbe aldığını bildirir. Darbenin ne yapacağı, onu dinleyen koda bağlıdır. Burada Main üzerindeki betik, hit sinyalini dinler:
extends Node2D
# Spikes bir hit sinyaline sahip olduğunda Main bu sinyali dinler.
func _ready():
if $Spikes.has_signal("hit"):
$Spikes.hit.connect(_on_spikes_hit)
func _on_spikes_hit():
print("Ouch!")
$Player.modulate = Color(1, 0.42, 0.42)Yakında bunun gibi dinleyiciler yazacaksın. Bu derste yalnızca dikenleri düzenleyeceksin.
Görev
KolayDikenlere bir sinyal verin ve biri üzerlerine bastığında bu sinyali gönderin.
spikes.gddosyasının en üstündesignal hitbildirimini yapın._on_body_enterediçindehit.emit()ile sinyali gönderin.
“Oyna” düğmesine basın ve dikenlerin üzerine yürüyün: Konsol'da Ouch! görünür ve mercan rengine dönersiniz. Ardından “Kontrol et” düğmesine basın.
Kendin dene
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Sinyaller ve Çarpışmalar bölümündeki tüm dersler
2Sinyaller
Alanlar Birbirleriyle BuluşuyorKendi SinyalinDeğer İçeren SinyallerBaşka Bir Düğümün SinyaliSinyalini DinleKendi başına pratik yap: Godot playground