Koin yang Tersisa
Termasuk bagian Sinyal dan Tabrakan dalam perjalanan Godot di Coddy. Pelajaran 17 dari 27.
Setiap koin di sini menghitung jumlah koin yang tersisa saat kamu mengambilnya. Koin pertama mencetak Coins left: 3, padahal hanya dua koin yang tersisa.
queue_free() menunggu hingga akhir frame. Sampai saat itu, koin masih berada dalam grupnya, jadi koin itu ikut menghitung dirinya sendiri.
Keluarkan koin dari grup terlebih dahulu dengan remove_from_group(). Perintah ini langsung bekerja:
func _on_body_entered(body):
remove_from_group("coins")
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()Baris dijalankan dari atas ke bawah, jadi remove_from_group harus muncul sebelum penghitungan.
Tantangan
SedangPerbaiki penghitungannya. Keluarkan koin dari grup coins sebelum menghitungnya. Mengambil ketiga koin harus mencetak Coins left: 2, Coins left: 1, lalu Coins left: 0.
Coba sendiri
extends Area2D
func _ready():
add_to_group("coins")
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Sinyal dan Tabrakan
Latihan sendiri: Playground Godot