Losowe pozycje
Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 20 z 29.
Bloki, które zawsze spadają w tym samym miejscu, łatwo ominąć. Losowe liczby sprawiają, że każda runda jest inna.
randf_range(a, b) zwraca losową liczbę z zakresu od a do b, z częścią dziesiętną. Każde wywołanie zwraca nową liczbę:
spawn(randf_range(40, 600))Blok ma 36 pikseli szerokości. Dlatego wartości od 40 do 600 sprawiają, że każdy blok w całości mieści się na ekranie o szerokości 640 pikseli.
Wywołuj tę funkcję wewnątrz funkcji timera za każdym razem, gdy pojawia się blok. Liczba wylosowana raz i przechowywana w zmiennej pozostaje taka sama przez całą grę.
Wyzwanie
ŁatwySpraw, aby każdy blok spadał w losowym miejscu na osi x między 40 a 600, wybieranym w momencie pojawienia się bloku.
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(320)
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