Menu
CoddyTech

造币工厂

本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 8 课,共 25 课。

表用花括号存储一系列值,for 循环可以逐个访问它们:

local heights = { 4, 8, 12 }
for _, h in heights do
	print(h)
end

这会输出 4、8 和 12。每轮循环中,h 都会保存下一个值。_ 表示列表中的位置,而这个循环不需要用到它。

把表和函数结合起来,就能得到一个工厂:每个值调用一次函数。

local function makeTree(x)
	-- 在 x 处创建一棵树
end
for _, x in { -10, 0, 10 } do
	makeTree(x)
end

CanCollide = false 可以让玩家穿过一个部件;这个部件仍然存在,也仍然可见。

Folder 可以把部件归在一起,例如 workspace.Coins。将部件的 Parent 设置为一个文件夹,就会把它放到世界中该文件夹内。

challenge icon

挑战

简单

完成造币工厂:makeCoin(z)会造出一枚金币,循环会为spots中的每个数字调用它。

  1. 在makeCoin中,添加coin.CanCollide = false和coin.Anchored = true。
  2. 添加coin.Position = Vector3.new(0, 3, z),然后添加coin.Parent = workspace.Coins。
  3. 在函数下方添加:for _, z in spots do makeCoin(z) end。

按“开始”:五枚金币会排成一行漂浮。然后按“检查”。

亲手试试

local spots = { 12, 6, 0, -6, -12 }

local function makeCoin(z)
	local coin = Instance.new("Part")
	coin.Name = "Coin"
	coin.Shape = Enum.PartType.Ball
	coin.Size = Vector3.new(2, 2, 2)
	coin.Color = Color3.fromRGB(255, 200, 40)
	-- 1. 设置为可穿过并固定
	-- 2. 将位置设为 (0, 3, z),然后放入 workspace.Coins
end

-- 3. 对每个位置调用 makeCoin

Roblox 游戏脚本编写中的所有课

自己练习: Lua 在线编译器