Menu
CoddyTech

Borulara Çarp

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

Boruya veya yere çarpmak oyunu bitirmelidir. Her ikisi de main.gd içindeki tek bir işleve yönlendirir:

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

Bir boru. Boru, üst ve alt yarılar için iki şekle sahip bir Area2D'dir. Boşlukta şekil yoktur. pipe.gd içinde body_entered sinyaline bağlan ve bir hit sinyali gönder. main.gd, her yeni boruyu eklemeden önce onun hit sinyaline bağlanır.

Zemin. Üst kısmı y = 318 konumundadır. Uçanın kenarı orta noktasından 12 piksel uzaktadır; bu yüzden position.y 306'yı geçtiğinde zemine dokunur. Ardından flyer.gd, crashed sinyalini gönderir.

Uçan, borular ve zamanlayıcı Duraklatılabilir olduğundan duraklatma hepsini dondurur.

challenge icon

Görev

Zor
  1. pipe.gd dosyasında signal hit ekleyin. body_entered sinyalini _ready içinde bağlayın ve bir gövde içeri girdiğinde hit sinyalini yayınlayın.
  2. flyer.gd dosyasında signal crashed ekleyin ve position.y değeri 306'dan büyük olduğunda sinyali yayınlayın.
  3. main.gd dosyasında her borunun hit sinyalini ve uçanın crashed sinyalini _on_crash işlevine bağlayın. Bu işlev Game Over mesajını gösterir ve oyunu duraklatır.

Kendin dene

extends Node2D

const PIPE = preload("res://pipe.tscn")

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	$Pipes.add_child(pipe)
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