开始之前
会使用数字变量、if 和 Output。新建独立 Baseplate 保存为 Lesson06。
Roblox Studio · 第 6 课
用 for 和 task.wait() 制作三秒倒计时,再比较有限循环和持续运行的循环。
Course overview
探险队准备出发:3、2、1,绿灯亮起!这段小小的倒计时,正适合交给循环。
你会先写一个可以数清次数的 for 循环,再给它加入等待和颜色。每次运行都应该能说清:执行了几次、最后停在哪里。
会使用数字变量、if 和 Output。新建独立 Baseplate 保存为 Lesson06。
一个倒计时三秒、亮绿灯两秒、最后恢复待机的信号灯。
Output 依次显示 3、2、1、GO;信号灯恢复原色,程序不会无休止运行。

Learning route
每完成一小步,就测试一次。先说出你预计会看到什么,再用 Play 和 Output 检查,不用急着一次写完所有代码。
先让场景足够简单,才能判断变化是否由代码造成。信号灯不必做得很漂亮,但要从出生点看得见。
for remaining = 3, 1, -1 表示从 3 开始,每次减 1,到 1 为止。终点符合步长方向时会被包含,所以这里执行三次。
现在把循环体当作“一拍”。每一拍打印数字、变成橙色,再等一秒。循环结束后才执行绿灯部分。
已经知道要重复几次,就优先用 for。需要“只要条件还成立就继续”,可以用 while,但你必须说明条件怎样结束。
数字瞬间刷完,通常是循环体里漏了 task.wait。完全没输出,先检查起点、终点和步长是否匹配。
Step by step
先让场景足够简单,才能判断变化是否由代码造成。信号灯不必做得很漂亮,但要从出生点看得见。
本课用 Color 和 Material 做视觉反馈。Neon 材质看起来会发亮,但它本身不会照亮旁边的物体;真正的照明会在第 14 课学习。
Step by step
for remaining = 3, 1, -1 表示从 3 开始,每次减 1,到 1 为止。终点符合步长方向时会被包含,所以这里执行三次。
task.wait(1) 让当前这段脚本稍后继续,游戏仍然可以处理其他事情。它不是高精度秒表,实际等待可能略长于一秒。
for remaining = 3, 1, -1 do
print(remaining)
task.wait(1)
end
print("GO!")

Step by step
现在把循环体当作“一拍”。每一拍打印数字、变成橙色,再等一秒。循环结束后才执行绿灯部分。
完整脚本只运行一轮,这样你很容易分辨结束位置。需要重试时 Stop,再 Play,而不是不断向脚本后面追加同一段代码。
local signal = workspace:WaitForChild("Signal")
local READY = Color3.fromRGB(55, 140, 220)
local COUNTING = Color3.fromRGB(255, 190, 65)
local GO = Color3.fromRGB(80, 220, 130)
signal.Color = READY
task.wait(2)
for remaining = 3, 1, -1 do
signal.Color = COUNTING
print("Starting in", remaining)
task.wait(1)
end
signal.Color = GO
print("GO!")
task.wait(2)
signal.Color = READY
print("Countdown finished")
Step by step
已经知道要重复几次,就优先用 for。需要“只要条件还成立就继续”,可以用 while,但你必须说明条件怎样结束。
下面是独立的五次闪烁版本,会替换前面的倒计时。每次亮和灭都有等待;如果忘记增加 flashes,条件可能永远成立。
local signal = workspace:WaitForChild("Signal")
local flashes = 0
while flashes < 5 do
signal.Transparency = 0
task.wait(0.4)
signal.Transparency = 0.75
task.wait(0.4)
flashes += 1
end
signal.Transparency = 0
print("Flashes:", flashes)
Step by step
数字瞬间刷完,通常是循环体里漏了 task.wait。完全没输出,先检查起点、终点和步长是否匹配。
循环变量 remaining 只属于循环内部。想在循环结束后保留统计结果,应像 flashes 那样先在外面创建变量。
Homework
把倒计时改为 5 到 1,绿灯持续 3 秒。
让程序通过不同颜色和最后的文字都能表达状态,不依赖声音。
把完整的一轮装进函数,用 for 调用两次,中间留两秒休息。
Exit questions
四次,i 依次是 1、2、3、4。
它是每次减少的步长,保证数字朝终点 1 前进。
不会,只让当前执行线程等待;其他脚本和游戏仍可运行。
由你的代码保证。要让条件最终变为 false,或在明确的条件下 break。
Explore further
正文代码可以直接复制。先确认脚本类型、放置位置,以及这段代码是完整版本还是小实验;不要把同一脚本的多个版本叠加运行。界面参考图已标注来源,图中的对象名可能与本课不同,请以操作步骤为准。