Строитель лестниц
Часть раздела Скриптинг игр в 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 студ; для всего, что выше, нужен прыжок.
Задание
ЛегкоПострой лестницу до жёлтого блока, который находится слишком высоко, чтобы до него можно было допрыгнуть.
- Цикл уже создаёт 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 студ выше и на 2 студа ближе к жёлтому блоку
step.Position = Vector3.new(0, 0.5, 10)
step.Parent = workspace
end
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый оббиПотренируйтесь самостоятельно: Онлайн-компилятор Lua