Исчезающий мост
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 10 из 24.
Мигающий свет изменил одну часть. У моста много ступеней, и все они должны меняться одновременно.
GetChildren() возвращает непосредственные дочерние объекты объекта в виде таблицы, готовой для цикла for. Функции, принадлежащие объекту, например GetChildren, вызываются с двоеточием:
for _, child in workspace.Bridge:GetChildren() do
print(child.Name)
endПапка может содержать и ваш Script, а у Script нет свойства Transparency. child:IsA("BasePart") возвращает true для деталей любого типа и false для Script. if condition then ... end выполняет строки внутри только в том случае, если условие истинно:
if child:IsA("BasePart") then
child.Transparency = 0.8
endДеталь может быть прозрачной и при этом оставаться твёрдой: именно CanCollide = false позволяет игрокам проваливаться сквозь неё.
Задание
ЛегкоНад пустотой расположены четыре ступеньки моста, и этот скрипт находится в папке моста. Он заставляет ступеньки исчезнуть один раз. Сделай так, чтобы цикл моста повторялся бесконечно:
- через 2 секунды после начала ступеньки исчезают:
Transparency0.8,CanCollidefalse - ещё через 2 секунды они возвращаются:
Transparency0,CanCollidetrue - это повторяется каждые 4 секунды бесконечно
Нажми Play и рассчитай время, чтобы перебежать мост, затем нажми Check.
Попробуйте сами
local bridge = script.Parent
-- Это заставляет ступени исчезнуть ОДИН РАЗ через 2 секунды.
-- Сделайте так, чтобы они появлялись снова через 2 секунды и это повторялось бесконечно.
task.wait(2)
for _, step in bridge:GetChildren() do
if step:IsA("BasePart") then
step.Transparency = 0.8
step.CanCollide = false
end
end
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый оббиПотренируйтесь самостоятельно: Онлайн-компилятор Lua