Sinyalmu Sendiri
Termasuk bagian Sinyal dan Tabrakan dalam perjalanan Godot di Coddy. Pelajaran 7 dari 27.
Kamu bisa memberi node sinyal sendiri. Deklarasikan satu di bagian atas skrip dengan signal:
extends Area2D
signal hitKirim sinyal itu dengan emit() saat sesuatu terjadi:
func _on_body_entered(body):
hit.emit()Kode lama mungkin menggunakan emit_signal("hit"). Fungsinya sama.
Spike hanya melaporkan bahwa seseorang terkena. Apa yang terjadi setelah terkena bergantung pada kode yang mendengarkan. Di sini, skrip pada Main mendengarkan hit:
extends Node2D
# Main akan memantau sinyal hit dari duri setelah duri memiliki sinyal tersebut.
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)Kamu akan segera menulis listener seperti ini. Dalam pelajaran ini, kamu hanya mengedit spike.
Tantangan
MudahBeri spikes sebuah sinyal dan kirimkan saat seseorang menginjaknya:
- Deklarasikan
signal hitdi bagian atasspikes.gd. - Di dalam
_on_body_entered, kirim sinyal itu denganhit.emit().
Berjalanlah ke atas spikes. Console akan menampilkan Ouch! dan kamu berubah menjadi warna coral.
Coba sendiri
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Sinyal dan Tabrakan
Latihan sendiri: Playground Godot