Menu
CoddyTech

Сенсорная плита

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

До сих пор ваши скрипты запускались в самом начале. Игры реагируют на действия игроков, а Roblox сообщает вам об этом с помощью событий. Событие Touched у детали срабатывает каждый раз, когда что-то задевает её. Вы подключаете к нему функцию, и Roblox запускает эту функцию при каждом касании:

local bell = script.Parent
bell.Touched:Connect(function(hit)
	print("Ding!")
end)

Функция получает hit: деталь, которая коснулась этой детали. Когда игрок наступает на колокол, hit — это одна из частей его тела, например Left Leg (на более новых аватарах — LeftFoot), поэтому hit.Name сообщает вам, какая именно.

Функция выше записана прямо внутри Connect(...) и не имеет имени: она существует только для обработки события.

challenge icon

Задание

Средне

Сделай так, чтобы серая площадка реагировала, когда к ней что-то прикасается.

  1. Добавь внутри функции Touched print(hit.Name): это выведет часть, которая коснулась площадки.
  2. Ниже измени цвет площадки на зелёный: pad.Color = Color3.fromRGB(0, 255, 0).

Нажми «Играть» и наступи на площадку: она станет зелёной, а в Output отобразится часть тела, например Left Leg. Затем нажми «Проверить».

Попробуйте сами

local pad = script.Parent

pad.Touched:Connect(function(hit)
	-- 1. Выведите имя детали, которая коснулась платформы
	-- 2. Окрасьте платформу в зелёный цвет
end)

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

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