在游戏中,通常存在许多因果关系。例如:
- 如果玩家得分 10 分,那么他们赢得游戏。
- 如果玩家有一个增强道具,那么他们可以超级快速地奔跑。
- 如果玩家在聊天中说“生日快乐”,那么就会下雨花瓣。
脚本使用条件语句来处理这些类型的情况。条件语句是仅在某些条件为真时才运行的代码行。条件语句的一种类型是 if/then 语句。在 Luau 中,if 语句的语法模式如下所示:
if "发生某事" then
-- 使其他事情发生
end使用条件的代码块称为 控制结构。控制结构就像代码形式的流程图,可以包含多个条件语句。
if 语句练习
以下步骤展示如何创建一个脚本,如果某个语句为真,则更改一个部件的颜色。
在 ServerScriptService 中,创建一个新脚本并命名为 TruthChecker。为脚本添加适当的注释。
-- 如果条件为真,则更改部件创建一个名为 LieDetector 的新部件。
格式化 if 语句
条件可以有多种形式,但通常是简单的语句,如数学方程。例如,如果 1+1 等于 2,则运行一些代码。与普通数学方程一样,条件可以使用 运算符,如加法 (+) 或小于 (<) 来评估语句。
一个需要注意的运算符是 ==;它表示“等于”。因此,语句 2 + 2 == 4 可以理解为“二加二等于四”。要非常小心,不要将其与 = 混淆,后者用于将新值分配给对象,如变量。
设置空的条件。在脚本中输入 if then,然后按 Enter 自动完成条件。关键字 then 将被下划线标记,因为代码不完整。
if then-- 空代码end在关键字 if 后,输入一个真实的语句,例如 3 + 3 == 6。
if 3 + 3 == 6 then-- 空代码end在条件内,引用你命名的部件 LieDetector,并将该部件的 Color 属性更改为绿色。
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end测试你的代码。如果三加三等于六,该部件将变为绿色。
检查假条件
现在,故意更改语句以查看当数学方程为假时会发生什么。
在 if 语句中,将方程更改为不准确的内容,例如 3 + 3 >= 10。
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end现在测试你的代码。对于假语句,该部件不应变为绿色。
数学运算符
下表列出了一些常见的 Luau 运算符。有关运算符的更多信息,请参见 Luau 运算符。
| 符号 | 含义 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
比较运算符
- == : 等于。
- ~= : 不等于。
- < 或 > 分别用于小于或大于。
- <= 或 >= 分别用于小于/大于或等于。
变量和属性
条件语句也用于评估属性和变量的状态。以下步骤检查变量是否成功分配了值。
删除所有代码,并将以下代码片段复制到脚本中。测试它,输出中会出现一个新错误。
local mysteryPart = workspace.MysteryPart-- 如果 MysteryPart 成功分配,则评估为真if mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end在工作区中插入一个名为 MysteryPart 的新部件。再次测试,LieDetector 应该变为绿色。
探索如何使用条件评估属性。保留 MysteryPart,但再次删除你的代码并复制下面的代码框。
local mysteryPart = workspace.MysteryPart-- 如果 MysteryPart 完全不透明,则评估为真if mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2end测试代码,如果 MysteryPart 的默认透明度为 0,它将变得透明,而 LieDetector 变为绿色。
总结
条件语句检查语句是否准确,如果是,则运行一些代码。if 语句是非常常见的一种条件语句。它们使用模式“如果这是真的,那么做那件事。”
使用条件语句的代码块称为控制结构。控制结构可以包含多个条件语句。
除了评估简单数学语句是否真实外,条件还用于检查变量和属性的状态。