Menu
CoddyTech

随机位置

本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 20 课,共 29 课。

总是出现在同一个位置的方块很容易躲开。随机数能让每一轮都不一样。

randf_range(a, b)会生成一个从a到b的随机数,包含小数。每次调用都会生成一个新数:

spawn(randf_range(40, 600))

方块宽 36 像素。因此,取值范围 40 到 600 可以让每个方块都完整地显示在 640 像素宽的屏幕内。

每次生成方块时,都在计时器的函数中调用它。只选取一次并保存在变量中的数字,在整个游戏过程中都会保持不变。

challenge icon

挑战

简单

让每个方块随机出现在不同的位置。

  1. 在 _on_spawn_timer_timeout() 中,将 320 替换为 randf_range(40, 600)。
  2. 将它保留在函数内,这样每个方块都会有自己的 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 在线编辑器