函数实际上可以有多个参数,从而允许将多个参数(信息片段)传递给函数。一个例子可能是将玩家分配到一个团队。在这里,您需要一个参数来传入玩家,另一个参数来传入要分配他们的团队。
要设置多个参数,请用逗号分隔参数名称。
local function assignTeam(playerName, whichTeam)
end
练习多个参数
为了练习使用多个参数,创建一个将对象分类为垃圾或可回收物的函数。
- 第一个参数将是垃圾,将被销毁。
- 第二个参数将是可回收物,这将被重新变得闪亮如新。
设置函数
首先设置具有多个参数的函数,然后测试您的工作。
- 在ServerScriptService中创建一个新脚本。
- 编写一个名为 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)
如果您只传入一个参数,那么该参数将被视为垃圾。如果您传入三个参数,由于没有第三个参数,第三个参数将不会发生任何变化。
总结
参数是通过它们可以传递值到函数的占位符。参数是通过占位符传递的值。您可以通过用逗号分隔名称来创建多个参数。当调用函数时,传入接收函数的值的顺序决定了它们使用的是哪个参数。