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 = trueBir 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.
Görev
Zorpipe.gddosyasındasignal hitekleyin.body_enteredsinyalini_readyiçinde bağlayın ve bir gövde içeri girdiğindehitsinyalini yayınlayın.flyer.gddosyasındasignal crashedekleyin veposition.ydeğeri 306'dan büyük olduğunda sinyali yayınlayın.main.gddosyasında her borununhitsinyalini ve uçanıncrashedsinyalini_on_crashişlevine bağlayın. Bu işlevGame Overmesajı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)
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