Menu
CoddyTech

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 = true

Terakhir, 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.

challenge icon

Tantangan

Sedang
  1. Saat skor mencapai 10, tampilkan You Win! dan jeda permainan.
  2. 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)
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Proyek

Latihan sendiri: Playground Godot