Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Lass jeden Block an einer zufälligen Stelle herunterfallen.

  1. Ersetze in _on_spawn_timer_timeout() 320 durch randf_range(40, 600).
  2. 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

Übe selbstständig: Godot-Playground