使用參數和事件

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

通常,函數只能使用其內部編碼的信息。然而,有時候你可能無法提前知道這些信息會是什麼,或者你希望能夠重複使用相同的函數來處理多個相似的信息。例如,如果你想使用一個函數來顯示在障礙賽中最快完成的人的名字,並以巨大的字體顯示給所有人。你不會知道未來的獲勝者的名字,直到比賽結束。

參數是你希望稍後提供給函數的信息的佔位符。它們就像窗戶,允許你將信息傳遞給函數。

使用參數和事件來設置陷阱

這段腳本將創建一個陷阱部件,摧毀任何接觸到該部件的物體,包括其他部件。你需要使用一個參數來設置它。小心將陷阱固定在不會掉落並意外摧毀物品的地方。

創建一個新部件

需要設置一個部件,摧毀任何接觸到它的物體。

  1. 創建一個新的部件,確保它不接觸任何東西。如果它接觸到其他物體,可能會過早觸發。
  2. 在資源管理器中,將部件重命名為:TrapPart。
  3. 固定該部件。

設置腳本

使用你對變量和遊戲層級的了解來引用陷阱部件。

  1. 在陷阱部件中添加一個新腳本。將腳本重命名為 TrapScript

  2. 刪除 Hello World 並添加一個描述性註釋。

  3. 在註釋下方,創建一個新變量來查找腳本的父級。

    -- 摧毀接觸到父級的任何物體
    local trap = script.Parent

創建一個帶有參數的函數

陷阱將使用一個函數來摧毀接觸到該部件的任何物體。為了正常工作,函數需要知道是什麼接觸了該部件。這意味著需要使用參數。參數在函數名稱後的 () 中輸入。它們看起來像這樣:

local function functionName(parameterName)
end

實際上通過參數傳遞的信息稱為引數。你將創建一個名為 onTouch() 的新函數,帶有一個名為 objectTouched 的參數,用於跟踪接觸到陷阱的物體,然後摧毀該接觸的部件。

  1. 創建一個本地函數。它可以命名為任何名稱,但本課程將使用 onTouch

    local trap = script.Parent
    local function onTouch()
    end
  2. () 中,輸入參數的名稱。本課程將使用 objectTouched。

    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. local function onTouch()end 之間,創建一個打印語句。你將使用這個來檢查在下一部分中是否有東西接觸到該部件。

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("有東西接觸到陷阱")
    end

使用事件來調用函數

我們希望函數在任何東西接觸到該部件時運行。為了實現這一點,將函數連接到 Touched 事件。事件是遊戲中發生的事情。例如,玩家接觸到一個部件或失去生命。當函數連接到一個事件時,該函數會在事件發生時運行。

Touched 事件在一個部件接觸到另一個部件時觸發,可以用來創建按鈕、陷阱和其他玩家互動的物體。

  1. 在函數的 end 下面,輸入 trap.Touched:Connect(onTouch)

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("有東西接觸到陷阱")
    end
    -- 將函數連接到 Touched 事件
    trap.Touched:Connect(onTouch)
  2. 點擊測試,然後接觸該部件。檢查你的測試打印語句:有東西接觸到陷阱。如果你在輸出窗口中看不到該字符串,請檢查以下內容:

    • 確保字符串 "有東西接觸到部件!" 在 local function onTouch() 和 end 之間。
    • 檢查 Touched 是否大寫。
  3. 現在函數已正確設置,使用它來摧毀任何接觸到該部件的物體。在函數內部,在字符串之後,輸入 objectTouched:Destroy() 完整的代碼應該是:

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("有東西接觸到陷阱")
    -- 摧毀接觸的物體
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. 再次測試,看看當該部件被接觸時會發生什麼。你的角色應該會缺少腳或手。如果該部件接觸到角色的頭部或脖子,甚至可能會完全摧毀。

總結

參數用於將通常超出範圍(函數無法看到的地方)的信息傳遞到函數中。與此同時,事件是當遊戲中發生某些重要事情時發出的特殊信號。不同的物體有不同的事件。函數可以連接到事件,以便每次事件觸發時都會調用它。這段小腳本將函數連接到陷阱的 Touched 事件,並通過參數傳遞接觸到陷阱的物體。

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。