Menu
CoddyTech

Rury na czas

Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 21 z 33.

Następne są rury. Rura to scena, pipe.tscn: górna i dolna część z przerwą między nimi. W pipe.gd przesuwa się w lewo z prędkością SPEED pikseli na sekundę. Gdy minie lewą krawędź, usuwa się, więc stare rury się nie piętrzą:

position.x -= SPEED * delta
if position.x < -60:
	queue_free()

Scena ma Timer o nazwie PipeTimer, który uruchamia się co 1.6 sekundy. W main.gd podłącz jego sygnał timeout i umieść rurę za prawą krawędzią:

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

Godot rysuje węzły w kolejności drzewa. Pipes znajduje się przed Ground, więc podłoże zasłania dolną część każdej rury.

challenge icon

Wyzwanie

Średni
  1. W pipe.gd dodaj const SPEED = 160. Przesuwaj rurę w lewo w każdej klatce fizyki i usuwaj ją, gdy position.x spadnie poniżej -60.
  2. W main.gd dodaj const PIPE = preload("res://pipe.tscn") i podłącz $PipeTimer.timeout. Przy każdym przekroczeniu limitu czasu utwórz rurę w punkcie (700, 180) w węźle Pipes.

Spróbuj swoich sił

extends Node2D

func _ready():
	pass
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Godot