Borulara Çarp
Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 26 / 36.
Bir boruya ya da zemine ç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 olmak üzere iki şekle sahip bir Area2D'dir. Boşlukta şekil yoktur. pipe.gd içinde body_entered sinyalini bağlayıp bir hit sinyali gönderin. main.gd, her yeni boruyu eklemeden önce onun hit sinyalini bağlar.
Zemin. Zeminin üst kısmı y = 318 konumundadır. Uçanın kenarı orta noktasından 12 piksel uzaktadır; bu nedenle position.y değeri 306'yı aştığında zemine dokunur. Ardından flyer.gd, crashed sinyalini gönderir.
Uçan karakter, borular ve zamanlayıcı duraklatılabilir; dolayısıyla duraklatma hepsini dondurur.
Görev
ZorÇarpışma olduğunda oyunu bitir.
pipe.gdiçindesignal hitekle,_readyiçindebody_enteredsinyalini bağla ve bir cisim girdiğindehitsinyalini gönder.flyer.gdiçindesignal crashedekle veposition.ydeğeri306değerinden büyük olduğunda bu sinyali gönder.main.gdiçinde her borununhitsinyalini ve uçucununcrashedsinyalini,Game Overmesajını gösterip oyunu duraklatan_on_crashişlevine bağla.
“Oyna” düğmesine bas ve düş: Game Over görünür. Ardından “Kontrol et” düğmesine bas.
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)
Projeler bölümündeki tüm dersler
3Proje: Kanat Çırpan Kuş
Kuşa YerçekimiKuşu Kanat ÇırptırKendi başına pratik yap: Godot playground