Pintu Terkunci
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 28 dari 33.
Sebuah Door menghalangi jalan menuju tangga. Door adalah StaticBody2D, jadi move_and_slide menghentikan hero saat menabraknya. Di depannya ada DoorZone, sebuah Area2D yang sedikit lebih lebar daripada pintu, sehingga hero mencapainya lebih dulu.
Saat hero berjalan memasuki zona dengan membawa kunci, pintunya terbuka:
func _on_door_zone_body_entered(body):
if has_key:
$Door.queue_free()
$DoorZone.queue_free()Hapus zonanya juga. Jika tidak, hero akan berjalan kembali ke dalamnya, $Door tidak lagi ada, dan game berhenti dengan pesan Node not found.
Hapus pintunya dengan queue_free(). hide() hanya menghentikan penggambarannya. Bentuk tabrakannya tetap akan menghalangi hero.
Tantangan
SedangDi main.gd, hubungkan $DoorZone.body_entered. Saat sebuah body masuk dan has_key bernilai true, hapus $Door dan $DoorZone.
Coba sendiri
extends Node2D
var has_key = false
func _ready():
$Key.body_entered.connect(_on_key_body_entered)
func _on_key_body_entered(body):
has_key = true
$Key.queue_free()
$HUD/KeyIcon.visible = true
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Proyek
1Proyek: Breakout
Pemukul BreakoutJaga Pemukul Tetap di Layar4Proyek: Penjelajah Ruang Bawah Tanah
Jelajahi Ruang Bawah TanahAmbil KunciLatihan sendiri: Playground Godot