Losowe tory
Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 21 z 29.
Niektóre losowe wybory wymagają liczby całkowitej, na przykład wyboru jednego z pięciu pasów albo wyniku rzutu kostką.
randi_range(a, b) zwraca losową liczbę całkowitą od a do b, włącznie:
var roll = randi_range(1, 6) # 1, 2, 3, 4, 5 lub 6Ekran ma 640 pikseli szerokości, więc każdy z pięciu pasów ma 128 pikseli. Pomnóż numer pasa przez 128, a następnie dodaj 64, aby uzyskać środek pasa:
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)Daje to x = 64, 192, 320, 448 lub 576, bez żadnych wartości pomiędzy nimi.
Wyzwanie
ŁatwySpraw, aby bloki spadały na pięciu pasach. Wybierz pas za pomocą randi_range(0, 4) i utwórz blok w miejscu lane * 128 + 64.
Spróbuj swoich sił
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
func _on_spawn_timer_timeout():
spawn(randf_range(40, 600))
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Zasady gry
Poćwicz samodzielnie: Edytor online Godot