Bir Tuşla Yeniden Başlat
Coddy'nin Godot Journey'sinin Oyun Kuralları bölümünün bir parçası. Ders 15 / 29.
Bu satır sahneyi siler ve dosyasından yeniden yükler:
get_tree().reload_current_scene()Yeni oyun üç canla, oyuncu yeşil karedeyken ve Game Over gizliyken başlar.
Main de duraklatılır, bu yüzden _process tuşu algılayamaz. Main'in kendi process_mode değerini Node.PROCESS_MODE_ALWAYS olarak ayarla. Oyuncu hariç, çocukları bu değeri devralır. Sahne, oyuncuyu Pausable olarak ayarlar; bu nedenle oyuncu yine durur.
Yeniden yükleme oyunun duraklatmasını kaldırmaz. Yeniden yüklemeden önce get_tree().paused = false olarak ayarla, yoksa yeni oyun duraklatılmış olarak başlar.
Görev
KolayOyun Bitti ekranından sonra oyuncunun tekrar oynamak için E tuşuna basmasını sağlayın:
_ready()içinde bu düğümünprocess_modedeğeriniNode.PROCESS_MODE_ALWAYSolarak ayarlayın._process()içinde,livesdeğeri 0 olduğunda veactiontuşuna az önce basıldığında oyunun duraklatmasını kaldırın ve sahneyi yeniden yükleyin.
Kendin dene
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
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Oyun Kuralları bölümündeki tüm dersler
Kendi başına pratik yap: Godot playground