Kabur dari Ruang Bawah Tanah
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 33 dari 33.
Tangga di sudut paling jauh adalah jalan keluar. Tangga itu merupakan Area2D bernama Exit. Saat hero menginjaknya, pemain menang:
func _on_exit_body_entered(body):
$HUD/Message.text = "You Escaped!"
get_tree().paused = trueHubungkan sinyalnya di _ready bersama sinyal lainnya. Enter juga memulai permainan baru setelah menang, karena mulai ulang hanya memeriksa apakah permainan dijeda.
Mainkan dungeon-mu. Lalu ubah: tambahkan penjaga kedua, pindahkan dinding, atau sembunyikan kunci di tempat yang lebih sulit ditemukan.
Tantangan
MudahDi main.gd, hubungkan $Exit.body_entered ke fungsi yang menampilkan You Escaped! di $HUD/Message dan menjeda game.
Coba sendiri
extends Node2D
var has_key = false
var health = 3
func _ready():
$Key.body_entered.connect(_on_key_body_entered)
$DoorZone.body_entered.connect(_on_door_zone_body_entered)
$Enemy.body_entered.connect(_on_enemy_body_entered)
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("action"):
get_tree().paused = false
get_tree().reload_current_scene()
func _on_key_body_entered(body):
has_key = true
$Key.queue_free()
$HUD/KeyIcon.visible = true
func _on_door_zone_body_entered(body):
if has_key:
$Door.queue_free()
$DoorZone.queue_free()
func _on_enemy_body_entered(body):
health -= 1
$HUD/Hearts.get_child(health).visible = false
$Hero.flash()
if health == 0:
$HUD/Message.text = "Game Over"
get_tree().paused = 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