功能實際上可以有多於一個參數,允許多個參數(資訊片段)傳送到函數。遊戲範例可能會將一名玩家配置到一個團隊。在這裡,你需要一個參數來傳送玩家,以及一個參數來傳送哪個團隊將它們分配給。
若要設定多個參數,請用逗號將參數名稱分開。
local function assignTeam(playerName, whichTeam)
end
使用多個參數進行練習
要練習使用多個參數,創建一個函數,將你遊戲中的對象排序為垃圾或回收。
- 第 個參數 將是垃圾,將被刪除。
- 第 二參數 將用於回收,將再次變得閃亮和新。
設置功能
首先設置多個參數的函數,然後測試你的工作。
- 在 伺服器腳本服務 創建一個新腳本。
- 編寫一個名為 sortGarbage() 的新功能,並將其參數設為 trash 和 recyclable 。
- 在腳指令碼底部,呼叫函數。
- 快速檢查目前使用功能內的印記聲明來檢查代碼。
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()
使用多個參數
在功能內,參數可以與變量相似地使用。在這個例子中,trash被摧毀,然後使用粒子發射器給予recyclable閃光。
刪除印刷聲明,並使用 Instance.new() 創建一個新的粒子發射器,如所示。這將用於為回收物提供閃光。
local function sortGarbage(trash,recyclable)-- 創建新的粒子發射器local sparkle = Instance.new("ParticleEmitter")endsortGarbage()通過垃圾參數摧毀任何傳入的內容,與如果垃圾是任何其他變量一樣。
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- 破壞垃圾trash:Destroy()endsortGarbage()將粒子發射器的父轉移到可回收。
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- 摧毀垃圾並使回收物品閃亮trash:Destroy()sparkle.Parent = recyclableendsortGarbage()
通過參數傳遞通行值
是時候拿出垃圾了!設定了參數後,功能已準備好接收資訊。
使用基本零件創建兩個對象來代表你可能要丟棄的東西。一個應該是垃圾,一個可回收。確保它們有獨特的名稱。
在腳指令碼頂部添加變量以用於你創建的對象。這些將是你的參數。
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottle在腳指令碼底部,當 sortGarbage() 被呼叫時,傳入每個引數。
local Workspace = game:GetService("Workspace")-- 可用作參數的物件local cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle--摧毀垃圾並清理回收物local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- 傳送參數sortGarbage(cementBlock, glassBottle)測試您的代碼。第一個傳入的對象將被摧毀。第二個對象將閃閃發光。
參數順序
通常,引數會依照傳入順序與參數匹配。例個體、實例,第一個參數使用第一個引數。第二個參數用於第二。
在我們的範例中,有兩個參數。無論什麼首先傳送都會永遠是垃圾,第二個將永遠是可回收的。
--摧毀垃圾並清理回收物
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
--依序進行。水泥被摧毀,玻璃瓶被回收
sortGarbage(cementBlock, glassBottle)
--玻璃瓶被摧毀,水泥磚塊被回收
sortGarbage(glassBottle, cementBlock)
如果您只傳送一個引數數,該參數將被視為垃圾。如果你傳入三個參數,第三個參數不會發生任何事情,因為沒有第三個參數。
總結
參數是可以將值傳送到函數的暫時符號。參數是被傳送到暫時填充器的值。您可以用逗號將名稱分開,創建多個參數。當呼叫功能時,傳送到接收功能的值順序決定哪個參數被使用。