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 sinyali 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 hasar aldığını bildirir. Hasar alındığında ne olacağı, dinleyici 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 tanımlayın ve biri üzerlerine bastığında bu sinyali gönderin:
spikes.gddosyasının en üstündesignal hittanımlayın._on_body_enterediçindehit.emit()ile sinyali gönderin.
Dikenlerin üzerine yürüyün. Konsolda Ouch! görünmeli ve mercan rengine dönmelisiniz.
Kendin dene
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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