Случайные позиции
Часть раздела Правила игры путешествия по Godot на Coddy. Урок 20 из 29.
Блоки, которые всегда падают в одном и том же месте, легко обходить. Случайные числа делают каждый раунд непохожим на другие.
randf_range(a, b) возвращает случайное число от a до b с дробной частью. При каждом вызове возвращается новое число:
spawn(randf_range(40, 600))Ширина блока — 36 пикселей. Поэтому значения от 40 до 600 позволяют каждому блоку целиком помещаться на экране шириной 640 пикселей.
Вызывай эту функцию внутри функции таймера каждый раз, когда появляется блок. Если выбрать число один раз и сохранить его в переменной, оно останется неизменным на протяжении всей игры.
Задание
ЛегкоПусть каждый блок падает в случайное положение по x между 40 и 600, выбранное в момент появления блока.
Попробуйте сами
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)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Правила игры
4Спавн
Упакованная сценаРазместите новый узелФункция спавнаСпавн по таймеруСлучайные позицииСлучайные полосыПотренируйтесь самостоятельно: Песочница Godot