Rohre nach Zeitplan
Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 21 von 33.
Als Nächstes kommen die Rohre. Ein Rohr ist eine Szene, pipe.tscn: eine obere und eine untere Hälfte mit einer Lücke dazwischen. In pipe.gd gleitet es mit SPEED Pixeln pro Sekunde nach links. Sobald es den linken Rand passiert, entfernt es sich selbst, damit sich keine alten Rohre ansammeln:
position.x -= SPEED * delta
if position.x < -60:
queue_free()Die Szene hat einen Timer namens PipeTimer, der alle 1.6 Sekunden ausgelöst wird. Verbinde in main.gd sein timeout-Signal und erstelle ein Rohr hinter dem rechten Rand:
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, 180)
$Pipes.add_child(pipe)Godot zeichnet Knoten in der Reihenfolge des Baums. Pipes kommt vor Ground, daher verdeckt der Boden den unteren Teil jedes Rohrs.
Aufgabe
Mittel- Füge in
pipe.gdconst SPEED = 160hinzu. Bewege das Rohr in jedem Physik-Frame nach links und entferne es, sobaldposition.xkleiner als -60 ist. - Füge in
main.gdconst PIPE = preload("res://pipe.tscn")hinzu und verbinde$PipeTimer.timeout. Erzeuge bei jedem Timeout ein Rohr bei(700, 180)im KnotenPipes.
Probier es selbst
extends Node2D
func _ready():
pass
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Projekte
3Projekt: Flatterflieger
Schwerkraft für den FliegerDen Flieger flattern lassenÜbe selbstständig: Godot-Playground