Losowe pozycje
Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 20 z 29.
Bloki, które zawsze spadają w jedno miejsce, łatwo ominąć. Losowe liczby sprawiają, że każda runda jest inna.
randf_range(a, b) zwraca losową liczbę 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 zakres od 40 do 600 sprawia, że każdy blok mieści się w całości na ekranie o szerokości 640 pikseli.
Wywołuj ją 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.
- W funkcji
_on_spawn_timer_timeout()zastąp320przezrandf_range(40, 600). - Pozostaw to wewnątrz funkcji, aby każdy blok miał własną wartość x.
Naciśnij „Graj”: bloki spadają na całym ekranie. Następnie naciśnij „Sprawdź”.
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)
Wszystkie lekcje w sekcji Zasady gry
Poćwicz samodzielnie: Edytor online Godot