Zufällige Positionen
Teil des Abschnitts Spielregeln der Godot-Journey von Coddy. Lektion 20 von 29.
Blöcke, die immer an derselben Stelle herunterfallen, lassen sich leicht ausweichen. Zufallszahlen sorgen dafür, dass jede Runde anders ist.
randf_range(a, b) gibt eine Zufallszahl von a bis b zurück, auch mit Nachkommastellen. Jeder Aufruf liefert eine neue Zahl:
spawn(randf_range(40, 600))Ein Block ist 36 Pixel breit. Mit Werten von 40 bis 600 bleibt also jeder Block vollständig auf dem 640 Pixel breiten Bildschirm.
Rufe die Funktion in der Timer-Funktion auf, jedes Mal, wenn ein Block erscheint. Eine Zahl, die einmal ausgewählt und in einer Variablen gespeichert wird, bleibt während des gesamten Spiels gleich.
Aufgabe
EinfachLass jeden Block an einer zufälligen Stelle herunterfallen.
- Ersetze in
_on_spawn_timer_timeout()320durchrandf_range(40, 600). - Lass es innerhalb der Funktion, damit jeder Block seine eigene x-Koordinate bekommt.
Drücke „Spielen“: Die Blöcke fallen über den ganzen Bildschirm verteilt herunter. Drücke dann „Prüfen“.
Probier es selbst
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
func _on_spawn_timer_timeout():
spawn(320)
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -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