Menu
CoddyTech

楼梯搭建器

本课属于 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 高的台阶;更高的台阶需要跳跃。

challenge icon

挑战

简单

搭建一段楼梯,通向黄色方块。这个方块太高了,无法跳上去。

  1. 循环已经在同一个位置生成了 10 级台阶。找到 step.Position 这一行。
  2. 将它改为 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 在线编译器