Zamanlayıcılı Borular
Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 24 / 36.
Sırada borular var. Bir boru, pipe.tscn sahnesidir: aralarında boşluk bulunan bir üst ve bir alt yarıdan oluşur. pipe.gd içinde saniyede SPEED piksel hızla sola kayar. Sol kenarı geçince kendini siler; böylece eski borular birikmez:
position.x -= SPEED * delta
if position.x < -60:
queue_free()Sahnede her 1.6 saniyede bir tetiklenen PipeTimer adlı bir Timer bulunur. main.gd içinde timeout sinyalini bağla ve sağ kenarın ötesinde bir boru oluştur:
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, 180)
$Pipes.add_child(pipe)Godot, düğümleri ağaç sırasına göre çizer. Pipes, Ground'dan önce geldiği için zemin her borunun alt kısmını örter.
Görev
OrtaBoruları ekran boyunca gönder.
pipe.gdiçindeconst SPEED = 160ekle. Her fizik karesinde boruyu sola hareket ettir veposition.xdeğeri-60değerinin altına düştüğünde onu kaldır.main.gdiçindeconst PIPE = preload("res://pipe.tscn")ekle ve$PipeTimer.timeoutsinyalini bağla.- Her zaman aşımında,
Pipesdüğümünde(700, 180)konumunda bir boru oluştur.
“Oyna” düğmesine bas: Borular sağdan kayarak gelir. Ardından “Kontrol et” düğmesine bas.
Kendin dene
extends Node2D
func _ready():
pass
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