Menu
CoddyTech

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.

challenge icon

Görev

Orta

Boruları ekran boyunca gönder.

  1. pipe.gd içinde const SPEED = 160 ekle. Her fizik karesinde boruyu sola hareket ettir ve position.x değeri -60 değerinin altına düştüğünde onu kaldır.
  2. main.gd içinde const PIPE = preload("res://pipe.tscn") ekle ve $PipeTimer.timeout sinyalini bağla.
  3. Her zaman aşımında, Pipes düğü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

Kendi başına pratik yap: Godot playground