Строитель башен
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 7 из 25.
Функция — это именованный фрагмент кода, который можно выполнять, когда он нужен. Передаваемые в неё значения называются параметрами:
local function greet(name)
print("Welcome, " .. name)
end
greet("Ava")
greet("Leo").. объединяет две строки, поэтому "Welcome, " .. "Ava" — это Welcome, Ava. Код выводит Welcome, Ava и Welcome, Leo. Определение функции только сохраняет её; каждый вызов, например greet("Ava"), выполняет её код, присваивая name переданное значение.
Функция может принимать несколько параметров, разделённых запятыми, и использовать их где угодно внутри, например, чтобы задать размер:
local function makeWall(width, height)
local wall = Instance.new("Part")
wall.Size = Vector3.new(width, height, 1)
wall.Anchored = true
wall.Parent = workspace
end
makeWall(10, 6)makeWall(10, 6) задаёт width значение 10, а height — значение 6, именно в таком порядке.
Деталь растёт одинаково вверх и вниз относительно своей позиции, поэтому деталь высотой h стоит на земле (Y 0), когда её центр находится на высоте h / 2.
Задание
ЛегкоЗаверши makeTower(x, height) и используй её три раза.
- Задай размер башни с помощью
Vector3.new(4, height, 4). - Задай её положение с помощью
Vector3.new(x, height / 2, 0), чтобы она стояла на земле. - Вызови её для значений
(-10, 6),(0, 12)и(10, 18).
Нажми «Играть»: три башни стоят в ряд, и каждая выше предыдущей. Затем нажми «Проверить».
Попробуйте сами
local function makeTower(x, height)
local tower = Instance.new("Part")
tower.Name = "Tower"
tower.Anchored = true
-- Размер: ширина 4, высота height, глубина 4
-- Положение: в точке x, стоит на земле (центр на высоте height / 2)
tower.Parent = workspace
end
makeTower(-10, 6)
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый оббиПотренируйтесь самостоятельно: Онлайн-компилятор Lua