随机位置
本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 20 课,共 29 课。
总是出现在同一个位置的方块很容易躲开。随机数能让每一轮都不一样。
randf_range(a, b)会生成一个从a到b的随机数,包含小数。每次调用都会生成一个新数:
spawn(randf_range(40, 600))方块宽 36 像素。因此,取值范围 40 到 600 可以让每个方块都完整地显示在 640 像素宽的屏幕内。
每次生成方块时,都在计时器的函数中调用它。只选取一次并保存在变量中的数字,在整个游戏过程中都会保持不变。
挑战
简单让每个方块随机出现在不同的位置。
- 在
_on_spawn_timer_timeout()中,将320替换为randf_range(40, 600)。 - 将它保留在函数内,这样每个方块都会有自己的 x 坐标。
按“开始”:方块会从屏幕各处落下。然后按“检查”。
亲手试试
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)
游戏规则中的所有课
自己练习: Godot 在线编辑器