随机车道
本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 21 课,共 29 课。
有些随机选择需要一个整数,例如从五条车道中选一条,或掷骰子。
randi_range(a, b)会返回从a到b(包括两者)的随机整数:
var roll = randi_range(1, 6) # 1、2、3、4、5 或 6屏幕宽 640 像素,所以五条车道的宽度各为 128 像素。将车道编号乘以 128,再加上 64,就能到达车道的中间:
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)这样得到的 x 值是 64、192、320、448 或 576,中间不会出现其他值。
挑战
简单让方块在 5 条通道中下落。
- 在
_on_spawn_timer_timeout()中,用var lane = randi_range(0, 4)选择一条通道。 - 在
lane * 128 + 64处生成方块。
按“开始”:方块会整齐地成列下落。然后按“检查”。
亲手试试
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)
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
游戏规则中的所有课
自己练习: Godot 在线编辑器