造币工厂
本课属于 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)
endCanCollide = false 可以让玩家穿过一个部件;这个部件仍然存在,也仍然可见。
Folder 可以把部件归在一起,例如 workspace.Coins。将部件的 Parent 设置为一个文件夹,就会把它放到世界中该文件夹内。
挑战
简单完成造币工厂:makeCoin(z)会造出一枚金币,循环会为spots中的每个数字调用它。
- 在
makeCoin中,添加coin.CanCollide = false和coin.Anchored = true。 - 添加
coin.Position = Vector3.new(0, 3, z),然后添加coin.Parent = workspace.Coins。 - 在函数下方添加:
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 在线编译器