Menu
CoddyTech

Zamanlayıcılı Borular

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

Sırada borular var. Bir boru, pipe.tscn adlı bir sahnedir: 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 kaldırır; 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ğlayın ve sağ kenarın ötesinde bir boru oluşturun:

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, 180)
	$Pipes.add_child(pipe)

Godot, düğümleri ağaçtaki sıralarına göre çizer. Pipes, Ground'dan önce gelir; bu nedenle zemin her borunun alt kısmını kapatır.

challenge icon

Görev

Orta
  1. pipe.gd içinde const SPEED = 160 ekle. Her fizik karesinde boruyu sola hareket ettir ve position.x -60'ın altına düştüğünde boruyu kaldır.
  2. main.gd içinde const PIPE = preload("res://pipe.tscn") ekle ve $PipeTimer.timeout sinyalini bağla. Her zaman aşımında Pipes düğümünde (700, 180) konumunda bir boru oluştur.

Kendin dene

extends Node2D

func _ready():
	pass
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