楼梯搭建器
本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 6 课,共 25 课。
上一课中,i 让每根柱子沿一个方向移动。楼梯的每一级都需要同时向上和向前,所以 i 会用在三个数字中的两个数字里。
假设每一级厚 1 stud。要让第 i 级的顶面位于高度 i,它的中心就必须低半个 stud,也就是 i - 0.5。要让每一级沿 Z 轴朝目标靠近 2 studs,就从起始位置减去 i * 2:
for i = 1, 3 do
print(i - 0.5, 10 - i * 2)
end这会输出 0.5 8、1.5 6 和 2.5 4:三个朝 Z 0 爬升的台阶的 Y 和 Z 坐标。print 接收多个值时,会用空格将它们分开。
在这个游戏中,玩家可以走上大约 1 stud 高的台阶;更高的台阶需要跳跃。
挑战
简单搭建一段楼梯,通向黄色方块。这个方块太高了,无法跳上去。
- 循环已经在同一个位置生成了 10 级台阶。找到
step.Position这一行。 - 将它改为
Vector3.new(0, i - 0.5, 10 - i * 2):第i级台阶的顶部高度为i,并且比上一级靠近 2 studs。
按“开始”:十级台阶会一路通到方块旁,你可以走上去。然后按“检查”。
亲手试试
for i = 1, 10 do
local step = Instance.new("Part")
step.Name = "Step"
step.Size = Vector3.new(6, 1, 2)
step.Anchored = true
-- 每一级台阶都高出 1 个 stud,并且更靠近黄色方块 2 个 stud
step.Position = Vector3.new(0, 0.5, 10)
step.Parent = workspace
end
Roblox 游戏脚本编写中的所有课
自己练习: Lua 在线编译器