Menu
CoddyTech

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 hit

Kirim 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.

challenge icon

Tantangan

Mudah

Beri spikes sebuah sinyal dan kirimkan saat seseorang menginjaknya:

  1. Deklarasikan signal hit di bagian atas spikes.gd.
  2. Di dalam _on_body_entered, kirim sinyal itu dengan hit.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
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Sinyal dan Tabrakan

Latihan sendiri: Playground Godot