Menu
CoddyTech

Строитель башен

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

Функция — это именованный фрагмент кода, который можно запускать, когда он вам нужен. Передаваемые значения называются параметрами:

local function greet(name)
	print("Welcome, " .. name)
end

greet("Ava")
greet("Leo")

.. объединяет две строки, поэтому "Welcome, " .. "Ava" — это Welcome, Ava. Код выводит Welcome, Ava и Welcome, Leo. Определение функции только сохраняет её; каждый вызов, например greet("Ava"), запускает её код, устанавливая для name переданное вами значение.

Функция может принимать несколько параметров, разделённых запятыми, и использовать их где угодно внутри, например при задании размера Size:

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, именно в таком порядке.

Деталь растёт одинаково вверх и вниз от своей позиции Position, поэтому деталь высотой h стоит на земле (Y 0), когда её центр находится на высоте h / 2.

challenge icon

Задание

Легко

Заверши makeTower(x, height) и вызови её три раза.

  1. Задай башне Size: ширина — 4, высота — height, глубина — 4.
  2. Задай Position так, чтобы башня стояла на земле в точке x: Vector3.new(x, height / 2, 0).
  3. Вызови функцию для трёх башен: (-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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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