在體驗中,常常有很多原因和效果關係。例如:
- 如果玩家得到 10 分,則他們贏得遊戲。
- 如果玩家有任何強化道具,他們就可以跑得非常快。
- 如果玩家在聊天中說「生日快樂」,就會降下彩色紙片。
指令使用條件來處理這些類型的情況。 條件式語法 是只有在某些條件是真的時才會執行的程式碼。一種條件式語法是 if/then statement 。在 Lua 的語法中,if 的語法模式看起來像這樣:
如果然後的語法
if "something happens" then-- 讓其他事情發生end
使用條件來使用代碼塊是 控制結構。 控制結構是像代碼形式中的流程圖和可以有多個條件。
如果有說明的練習
這些步驟會顯示如果聲明是真的時,如何創建變更零件顏色的指令碼。
在 ServerScriptService 中,創建新的脚本並將其命名為 TruthChecker。添加適當的評論到脚指令碼。
-- 如果條件是真的,則更改零件建立名為 LieDetector 的新零件。
使用統計資料格式化表格
條件 可以以各種形式來表示,但通常是簡單的聲明,例如數學方程式。例如,如果 1+1 等於 2,則執行一些代碼。與普通的數學方程式相同,條件也可以使用 操作器 ,例如 + 或少於 0> <0> 來��������
一個特定的操作器要注意是 == ;它代表「等等」。因此,2 + 2 == 4 的聲明可以讀為「兩個以上的數字與兩個以下的數字相等」。請非常小心別與 = 混淺,它會將新值分配給對象,例如變數。
設置空白條件。在指令碼中,輸入 if then 並按下 輸入 以自動完成條件。關鍵字 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現在測試你的代碼。該零件不應該變綠,因為它不是真的說明。
數學運算器
下表列出一些常見的 Lua 操作。有關操作的更多資訊可以在 Luau 操作器 中查看。
符號 | 意義 |
---|---|
+ | 添加 |
- | 減法 |
* | 複製 |
/ | 分裂 |
比較運算器
- == : 與等號相同。
- ~= : 不等同。
- < 或 > 用於較小或較大。
- <= 或 >= 用於少於或等於,分別是小於或大於。
變數和屬性
也會使用條件式聲明來評價屬性和變量的狀態。下列步驟會檢查變量是否成功分配值。
刪除所有代碼,並將以下指令碼複製到指令碼中。測試一下,並在輸出中出現新的錯誤。
local mysteryPart = workspace.MysteryPart-- 評估 MysteryPart 是否成功分配為真if mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end將新零件插入名為 MysteryPart 的工作區。再次測試,並且 LieDetector 應該變成綠色。
探索如何使用條件來評價屬性。 保留神秘部分,但一次 again,刪除您的代碼並複製下面的代碼盒。
local mysteryPart = workspace.MysteryPart-- 如果神秘零件完全不透明,評價為真if mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2end測試代碼,如果 MysteryPart 有 0 的預設透明度,它會在 LieDetector 變成綠色時變成幽靈。
摘要
條件式聲明檢查是否檢查聲明是否準確,並且如果是準確的話,就執行一些代碼。條件式聲明是一種非常常見的條件式聲明。它們使用「If this is true, then do that.」的模式。
使用條件語句的代碼塊稱為控制結構。控制結構可以容納多個條件語句。
除了評估是否使用簡單的數學聲明是否是事實外,還使用條件來檢查變量和屬性的狀態。