Menu
CoddyTech

Kazanmak İçin On Boru

Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 28 / 36.

Oyuncu kaybedebilir ama henüz kazanamaz. Puan 10 olduğunda You win! mesajını göster ve oyunu duraklat. Puanın arttığı yerde test et:

if score == 10:
	$HUD/Message.text = "You win!"
	get_tree().paused = true

Son olarak, oyuncunun yeniden oynamasına izin ver. Oyun duraklatılmışken Boşluk tuşu sahneyi yeniden yükler. Main Always olduğundan _process çalışmaya devam eder:

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("jump"):
		get_tree().paused = false
		get_tree().reload_current_scene()

Boşluk tuşu aynı zamanda kanat çırpma tuşudur. Uçan karakter Pausable olduğundan oyun duraklatılmışken tuşa basılmasını yok sayar.

challenge icon

Görev

Orta

On boruyu geç ve yeniden oyna.

  1. Skor 10'a ulaştığında, $HUD/Message içinde You win! göster ve oyunu duraklat.
  2. Oyun duraklatılmışken Boşluk (jump) tuşuna basmak duraklatmayı kaldırır ve sahneyi yeniden yükler.

“Oyna”'ya bas ve on boruyu geç: You win! mesajı görünür. Boşluk yeniden başlatır. Ardından “Kontrol et”'e bas.

Kendin dene

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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Projeler bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground