多個參數和引數

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

可以有多個參數,讓多個參數 (例如資訊片) 傳入功能。 遊戲範例可能會要求玩家分配到一個團隊。 在這裡,您需要一個參數來分配玩家,並且要求一個參數來分配到哪個團隊。

要設定多個參數,請用分號分開參數名。


local function assignTeam(playerName, whichTeam)
end

使用多個參數練習

要練習使用多個參數工作,請創建一個能將遊戲中的物件排序為垃圾或回收的功能。

  • 第一個 參數 將是垃圾,將被摧毀。
  • 第二個 參數 將用於回收,並且會重新變得閃亮。

設定函數

首先設置功能並且測試您的工作。

  1. ServerScriptService 中建立新指令碼。
  2. sortGarbage() 的名字新增兩個參數 trashrecyclable
  3. 在指令碼的底部,呼叫函數。
  4. 快速檢查代碼,使用內置於功能中的 print 語句。

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 cementBlock = workspace.Cement
    local glassBottle = workspace.GlassBottle
  3. 在指令碼的底部,當 sortGarbage() 被呼叫時,通過每個引數數。


    -- 可以用作參數的對象
    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)

如果您只能以一個引數通過,那個引數將被視為垃圾。如果您只能以三個引數通過,那個第三個引數將不會發生任何事情,因為沒有第三個參數。

摘要

參數是通過將值傳入功能的參照值來傳入功能的地址。 參數是以空格分開的值,您可以通過將名稱與空格分開來創建多個參數。 當呼叫功能時,參數的順序是由值在接收功能中取得的順序決定的。