Строитель лестниц
Часть раздела Скриптинг игр в 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; для всего, что выше, нужен прыжок.
Задание
ЛегкоЖёлтый блок имеет высоту 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
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый оббиПотренируйтесь самостоятельно: Онлайн-компилятор Lua