Lewati Sepuluh Pipa untuk Menang
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 25 dari 33.
Pemain bisa kalah, tetapi belum bisa menang. Saat skor mencapai 10, tampilkan You Win! dan jeda permainan. Uji saat skor bertambah:
if score == 10:
$HUD/Message.text = "You Win!"
get_tree().paused = trueTerakhir, biarkan pemain bermain lagi. Saat permainan dijeda, Space memuat ulang scene. Main bersifat Always, jadi _process-nya tetap berjalan:
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("jump"):
get_tree().paused = false
get_tree().reload_current_scene()Space juga merupakan tombol mengepakkan sayap. Flyer bersifat Pausable, jadi mengabaikan tekanan tombol saat permainan dijeda.
Tantangan
Sedang- Saat skor mencapai 10, tampilkan
You Win!dan jeda permainan. - Saat permainan dijeda, Space (
jump) melanjutkan permainan dan memuat ulang scene.
Coba sendiri
extends Node2D
const PIPE = preload("res://pipe.tscn")
var score = 0
func _ready():
$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
$Flyer.crashed.connect(_on_crash)
$HUD/Score.text = "0"
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, randf_range(100, 250))
pipe.hit.connect(_on_crash)
pipe.scored.connect(_on_scored)
$Pipes.add_child(pipe)
func _on_crash():
$HUD/Message.text = "Game Over"
get_tree().paused = true
func _on_scored():
score += 1
$HUD/Score.text = str(score)
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 Kunci3Proyek: Flappy Flyer
Gravitasi FlyerKepakkan FlyerLatihan sendiri: Playground Godot