Eine Erzeugungsfunktion
Teil des Abschnitts Spielregeln der Godot-Journey von Coddy. Lektion 18 von 29.
Das Erzeugen eines Nodes während das Spiel läuft, nennt man Spawnen. Schreibe die Spawn-Zeilen in eine eigene Funktion, wobei die x-Position ein Parameter ist:
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)Jeder Aufruf erstellt einen neuen Block. Ein Node kann sich nur einmal im Spiel befinden. add_child() zweimal mit demselben Block aufzurufen, ist ein Fehler. Deshalb braucht jeder Block sein eigenes instantiate().
Aufgabe
EinfachLass mit einer Funktion drei Blöcke fallen.
- Schreibe
func spawn(x), die einen Block beiVector2(x, -30)erstellt und ihn hinzufügt. - Rufe sie in
_ready()dreimal auf:spawn(160),spawn(320)undspawn(480).
Drücke auf „Spielen“: Drei Blöcke fallen nebeneinander. Drücke dann auf „Prüfen“.
Probier es selbst
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
var block = block_scene.instantiate()
block.position = Vector2(160, -30)
add_child(block)
Alle Lektionen in Spielregeln
4Erzeugen
Eine gepackte SzeneDen neuen Node platzierenEine ErzeugungsfunktionMit einem Timer erzeugenZufällige PositionenZufällige SpurenÜbe selbstständig: Godot-Playground