在體驗中,經常會有許多因果關係。例如:
- 如果玩家得分 10 分,那麼他們贏得了比賽。
- 如果玩家擁有增益道具,那麼他們可以跑得非常快。
- 如果玩家在聊天中說「生日快樂」,那麼彩帶會降落。
腳本使用條件語句來處理這些類型的情況。條件語句 是在特定條件為真時執行的代碼行。一種條件語句是 if/then 語句。在 Luau 中,if 語句的語法模式如下:
if then 語法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 Operators 中找到。
| 符號 | 意思 |
|---|---|
| + | 加法 |
| - | 減法 |
| * | 乘法 |
| / | 除法 |
比較運算符
- == : 等於。
- ~= : 不等於。
- < 或 > 分別用於小於或大於。
- <= 或 >= 分別用於小於/大於或等於。
變量和屬性
條件語句還用來評估屬性和變量的狀態。以下步驟檢查變量是否成功被賦予一個值。
刪除所有代碼並將以下代碼片段複製到腳本中。測試它,並且會在輸出中出現新錯誤。
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 語句是一種非常常見的條件語句。它們使用「如果這是真的,那麼做這個」的模式。
使用條件語句的代碼區塊稱為控制結構。控制結構可以包含多個條件語句。
除了評估簡單數學語句是否為真外,條件語句還用來檢查變量和屬性的狀態。