椭圆(开始/结束)
用于表示流程入口与流程终点。
本周建立编程逻辑基础:用算法描述步骤,用流程图表达程序结构,用变量保存状态,用输入输出实现交互。该部分是后续 Lua 脚本与 Roblox Studio 机制开发的基础层。
学习目标是将“想法”转换为“可执行逻辑”,并完成第一个可运行的基础脚本流程。
算法是解决问题的步骤集合。游戏开发中的每个机制都可拆分为算法流程,例如“玩家触碰机关后开门”可拆为:检测触碰、验证条件、执行开门、反馈结果。
-- 顺序:显示欢迎信息
print("Welcome to Roblox Class")
-- 分支:判断积分是否达标
local score = 80
if score >= 60 then
print("Pass")
else
print("Retry")
end
流程图用于可视化程序逻辑,降低复杂逻辑表达成本。常用符号如下:
用于表示流程入口与流程终点。
用于表示执行动作与处理过程。
用于表示条件分支与决策路径。
用于表示数据输入与结果输出。
| 符号 | 含义 | 示例用途 |
|---|---|---|
| 椭圆 | 开始/结束 | 脚本启动、脚本结束 |
| 矩形 | 处理步骤 | 计算积分、更新状态 |
| 菱形 | 条件判断 | 是否拥有钥匙 |
| 平行四边形 | 输入/输出 | 读取玩家输入、输出提示 |
变量用于保存运行时数据。在 Roblox Lua 中,变量通过 `local` 声明,可存储数字、文本、布尔值等内容。
local playerName = "Alex"
local health = 100
local speed = 16
local canOpenDoor = false
输入用于接收玩家行为或系统数据,输出用于反馈运行结果。在初学阶段,最常用输出方式是 `print()`,输入主要来自事件触发。
local coins = 25
print("当前金币:", coins)
print("任务状态: 已开始")
local button = script.Parent
button.Touched:Connect(function(hit)
print("检测到触碰对象:", hit.Name)
end)
local doorOpen = false
script.Parent.Touched:Connect(function(hit)
if doorOpen == false then
doorOpen = true
print("门已开启")
else
print("门已处于开启状态")
end
end)
local name = "PlayerOne"
local hp = 100
local level = 1
print("Name:", name)
print("HP:", hp)
print("Level:", level)
将“玩家触碰终点后显示通关”流程图转换为脚本,要求包含条件判断与输出提示。
local count = 0
script.Parent.Touched:Connect(function()
count = count + 1
print("按钮触发次数:", count)
end)