Menu
CoddyTech

Строитель лестниц

Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 6 из 24.

На прошлом уроке i перемещала каждый столбец в одном направлении. Для лестницы каждая ступень должна одновременно идти вверх и вперёд, поэтому i используется в двух из трёх чисел.

Предположим, что толщина каждой ступени — 1 stud. Чтобы верх ступени i находился на высоте i, её центр должен быть на половину stud ниже: i - 0.5. Чтобы переместить каждую ступень на 2 studs ближе к цели вдоль Z, вычти i * 2 из начальной координаты:

for i = 1, 3 do
	print(i - 0.5, 10 - i * 2)
end

Этот код выводит 0.5 8, 1.5 6 и 2.5 4: координаты Y и Z трёх ступеней, поднимающихся к Z 0. Если передать print несколько значений, он разделит их пробелом.

В этой игре игрок может подняться на ступень высотой около 1 stud; для всего, что выше, нужен прыжок.

challenge icon

Задание

Легко

Жёлтый блок имеет высоту 10 студов: слишком высоко, чтобы запрыгнуть. Построй лестницу до него.

Цикл уже создаёт 10 закреплённых ступеней с именем Step, но все они находятся в одном месте. Измени их Position, чтобы ступень i:

  • имела верх на высоте i (толщина ступени — 1, поэтому координата центра по Y равна i - 0.5)
  • находилась на Z 10 - i * 2, чтобы каждая ступень была на 2 студа ближе к блоку

Нажми Play и поднимись по лестнице, затем нажми Check.

Попробуйте сами

for i = 1, 10 do
	local step = Instance.new("Part")
	step.Name = "Step"
	step.Size = Vector3.new(6, 1, 2)
	step.Anchored = true
	-- Каждая ступенька на 1 студ выше и на 2 студа ближе к жёлтому блоку
	step.Position = Vector3.new(0, 0.5, 10)
	step.Parent = workspace
end
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Скриптинг игр в Roblox

Потренируйтесь самостоятельно: Онлайн-компилятор Lua