Rury na czas
Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 24 z 36.
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ę, dzięki czemu stare rury się nie gromadzą:
position.x -= SPEED * delta
if position.x < -60:
queue_free()Scena zawiera Timer o nazwie PipeTimer, który uruchamia się co 1.6 sekundy. W main.gd podłącz jego sygnał timeout i utwórz 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.
Wyzwanie
ŚredniPrzesyłaj rury przez ekran.
- W pliku
pipe.gddodajconst SPEED = 160. Przesuwaj rurę w lewo w każdej klatce fizyki i usuwaj ją, gdyposition.xbędzie mniejsze niż-60. - W pliku
main.gddodajconst PIPE = preload("res://pipe.tscn")i podłącz$PipeTimer.timeout. - Przy każdym upływie czasu utwórz rurę w punkcie
(700, 180)w węźlePipes.
Naciśnij „Graj”: rury będą wsuwać się z prawej strony. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends Node2D
func _ready():
pass
Wszystkie lekcje w sekcji Projekty
3Projekt: Latający Ptaszek
Grawitacja ptaszkaMachanie skrzydłamiPoćwicz samodzielnie: Edytor online Godot