多個參數和引數

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

功能實際上可以有多於一個參數,允許多個參數(資訊片段)傳送到函數。遊戲範例可能會將一名玩家配置到一個團隊。在這裡,你需要一個參數來傳送玩家,以及一個參數來傳送哪個團隊將它們分配給。

若要設定多個參數,請用逗號將參數名稱分開。


local function assignTeam(playerName, whichTeam)
end

使用多個參數進行練習

要練習使用多個參數,創建一個函數,將你遊戲中的對象排序為垃圾或回收。

  • 個參數 將是垃圾,將被刪除。
  • 二參數 將用於回收,將再次變得閃亮和新。

設置功能

首先設置多個參數的函數,然後測試你的工作。

  1. 伺服器腳本服務 創建一個新腳本。
  2. 編寫一個名為 sortGarbage() 的新功能,並將其參數設為 trashrecyclable
  3. 在腳指令碼底部,呼叫函數。
  4. 快速檢查目前使用功能內的印記聲明來檢查代碼。

local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()

使用多個參數

在功能內,參數可以與變量相似地使用。在這個例子中,trash被摧毀,然後使用粒子發射器給予recyclable閃光。

  1. 刪除印刷聲明,並使用 Instance.new() 創建一個新的粒子發射器,如所示。這將用於為回收物提供閃光。


    local function sortGarbage(trash,recyclable)
    -- 創建新的粒子發射器
    local sparkle = Instance.new("ParticleEmitter")
    end
    sortGarbage()
  2. 通過垃圾參數摧毀任何傳入的內容,與如果垃圾是任何其他變量一樣。


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- 破壞垃圾
    trash:Destroy()
    end
    sortGarbage()
  3. 將粒子發射器的父轉移到可回收。


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- 摧毀垃圾並使回收物品閃亮
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    sortGarbage()

通過參數傳遞通行值

是時候拿出垃圾了!設定了參數後,功能已準備好接收資訊。

  1. 使用基本零件創建兩個對象來代表你可能要丟棄的東西。一個應該是垃圾,一個可回收。確保它們有獨特的名稱。

  2. 在腳指令碼頂部添加變量以用於你創建的對象。這些將是你的參數。


    local Workspace = game:GetService("Workspace")
    local cementBlock = Workspace.Cement
    local glassBottle = Workspace.GlassBottle
  3. 在腳指令碼底部,當 sortGarbage() 被呼叫時,傳入每個引數。


    local Workspace = game:GetService("Workspace")
    -- 可用作參數的物件
    local cementBlock = Workspace.CementBlock
    local glassBottle = Workspace.GlassBottle
    --摧毀垃圾並清理回收物
    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    -- 傳送參數
    sortGarbage(cementBlock, glassBottle)
  4. 測試您的代碼。第一個傳入的對象將被摧毀。第二個對象將閃閃發光。

參數順序

通常,引數會依照傳入順序與參數匹配。例個體、實例,第一個參數使用第一個引數。第二個參數用於第二。

在我們的範例中,有兩個參數。無論什麼首先傳送都會永遠是垃圾,第二個將永遠是可回收的。


--摧毀垃圾並清理回收物
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
--依序進行。水泥被摧毀,玻璃瓶被回收
sortGarbage(cementBlock, glassBottle)
--玻璃瓶被摧毀,水泥磚塊被回收
sortGarbage(glassBottle, cementBlock)

如果您只傳送一個引數數,該參數將被視為垃圾。如果你傳入三個參數,第三個參數不會發生任何事情,因為沒有第三個參數。

總結

參數是可以將值傳送到函數的暫時符號。參數是被傳送到暫時填充器的值。您可以用逗號將名稱分開,創建多個參數。當呼叫功能時,傳送到接收功能的值順序決定哪個參數被使用。