Menu
CoddyTech

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

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

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

Предположим, что толщина каждой ступеньки — 1 студ. Чтобы верх ступеньки i находился на высоте i, её центр должен быть на полстуда ниже: i - 0.5. Чтобы переместить каждую ступеньку на 2 студ ближе к цели вдоль 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 студ; для всего, что выше, нужен прыжок.

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 студ выше и на 2 студа ближе к жёлтому блоку
	step.Position = Vector3.new(0, 0.5, 10)
	step.Parent = workspace
end

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

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