高塔搭建器
本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 7 课,共 25 课。
函数是可以在需要时运行的一段命名代码。传入函数的值称为参数:
local function greet(name)
print("Welcome, " .. name)
end
greet("Ava")
greet("Leo")..用于连接两个字符串,因此,"Welcome, " .. "Ava"就是Welcome, Ava。这段代码会输出Welcome, Ava和Welcome, Leo。定义函数只是将它存储起来;每次调用函数,例如greet("Ava"),都会运行其中的代码,并将name设为你传入的值。
函数可以接收多个参数,参数之间用逗号分隔,并在函数内部的任意位置使用它们,例如在 Size 中使用:
local function makeWall(width, height)
local wall = Instance.new("Part")
wall.Size = Vector3.new(width, height, 1)
wall.Anchored = true
wall.Parent = workspace
end
makeWall(10, 6)makeWall(10, 6)会按顺序将width设为 10,将height设为 6。
部件会以自身的 Position 为中心,向上和向下等距延伸。因此,高度为h的部件,其中心位于h / 2时,底部正好落在地面上(Y 0)。
挑战
简单完成 makeTower(x, height),并调用它三次。
- 将塔的 Size 设置为
Vector3.new(4, height, 4)。 - 将它的 Position 设置为
Vector3.new(x, height / 2, 0),这样它就会立在地面上。 - 分别使用
(-10, 6)、(0, 12)和(10, 18)调用它。
按“开始”:三座塔排成一排,每座都比前一座高。然后按“检查”。
亲手试试
local function makeTower(x, height)
local tower = Instance.new("Part")
tower.Name = "Tower"
tower.Anchored = true
-- 尺寸:宽 4、高 height、深 4
-- 位置:位于 x,立在地面上(中心位于 height / 2 处)
tower.Parent = workspace
end
makeTower(-10, 6)
Roblox 游戏脚本编写中的所有课
自己练习: Lua 在线编译器