Menu
CoddyTech

高塔搭建器

本课属于 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)。

challenge icon

挑战

简单

完成 makeTower(x, height),并调用它三次。

  1. 将塔的 Size 设置为 Vector3.new(4, height, 4)。
  2. 将它的 Position 设置为 Vector3.new(x, height / 2, 0),这样它就会立在地面上。
  3. 分别使用 (-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 在线编译器