在游戏体验中,通常存在许多因果关系。例如:
- 如果玩家得分10分,那么他们赢得比赛。
- 如果玩家有一个强化道具,那么他们可以跑得很快。
- 如果玩家在聊天中说“生日快乐”,那么彩带就会落下。
脚本使用条件语句来处理这些类型的情况。条件语句是仅在某些条件为真时才运行的代码行。条件语句的一种类型是如果/那么语句。在Luau中,如果语句的语法模式如下所示:
if then syntaxif "某些事情发生" then-- 使某些其他事情发生end
使用条件的代码块称为控制结构。控制结构就像以代码形式表示的流程图,并且可以包含多个条件语句。
如果语句练习
以下步骤展示如何创建一个脚本,当某个语句为真时改变一个部件的颜色。
在ServerScriptService中,创建一个新脚本并命名为 TruthChecker。向脚本添加适当的注释。
-- 如果条件为真,则改变部件创建一个名为 LieDetector 的新部件。
格式化如果语句
条件可以有多种形式,但通常是像数学方程这样的简单语句。例如,如果 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测试您的代码。如果三加三等于六,那么部件将变为绿色。
检查错误条件
现在,有意改变语句,以查看数学方程为假时会发生什么。
在如果语句中,将方程更改为不准确的内容,例如 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 变为绿色。
总结
条件语句检查语句的准确性,如果为真,则运行一些代码。如果语句是一种非常常见的条件语句类型。它们使用模式“如果这个为真,那么做那个”。
使用条件语句的代码块称为控制结构。控制结构可以包含多个条件语句。
除了评估简单数学语句的真实性之外,条件语句还用于检查变量和属性的状态。