Mulai Ulang dengan Tombol
Termasuk bagian Aturan Game dalam perjalanan Godot di Coddy. Pelajaran 15 dari 29.
Baris ini membuang scene dan memuatnya kembali dari file:
get_tree().reload_current_scene()Game baru dimulai dengan tiga nyawa, pemain berada di kotak hijau, dan Game Over tersembunyi.
Main juga dijeda, jadi _process-nya tidak pernah melihat tombol tersebut. Atur process_mode milik Main ke Node.PROCESS_MODE_ALWAYS. Anak-anaknya mewarisi pengaturan itu, kecuali pemain. Scene mengatur pemain ke Pausable, jadi pemain tetap berhenti.
Memuat ulang tidak membatalkan jeda game. Atur get_tree().paused = false sebelum memuat ulang, atau game baru akan dimulai dalam keadaan dijeda.
Tantangan
MudahBiarkan pemain menekan E untuk bermain lagi setelah Game Over:
- Di
_ready(), aturprocess_modenode ini keNode.PROCESS_MODE_ALWAYS. - Di
_process(), saatlivesbernilai 0 danactionbaru saja ditekan, lanjutkan kembali game dan muat ulang scene.
Coba sendiri
extends Node2D
var lives = 3
func _ready():
$HUD/Lives.text = "Lives: %d" % lives
$Player.hurt.connect(_on_player_hurt)
$Blink.timeout.connect(_on_blink_timeout)
$Blink.process_mode = Node.PROCESS_MODE_ALWAYS
func _process(delta):
pass
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/GameOver.visible = true
$HUD/Hint.visible = true
get_tree().paused = true
func _on_blink_timeout():
if lives == 0:
$HUD/GameOver.visible = not $HUD/GameOver.visible
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Aturan Game
Latihan sendiri: Playground Godot