在遊戲中,經常會有許多因果關係。例如:
- 如果玩家得分 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 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 語句是非常常見的一種條件語句。它們使用模式「如果這是真的,那麼做那個。」
使用條件語句的代碼塊稱為控制結構。控制結構可以包含多個條件語句。
除了評估簡單的數學語句是否真實外,條件語句還用於檢查變量和屬性的狀態。