Сенсорная плита
Часть раздела Скриптинг игр в 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(...) и не имеет имени: она существует только для обработки события.
Задание
СреднеСделай так, чтобы серая площадка реагировала, когда к ней что-то прикасается.
- Добавь внутри функции Touched
print(hit.Name): это выведет часть, которая коснулась площадки. - Ниже измени цвет площадки на зелёный:
pad.Color = Color3.fromRGB(0, 255, 0).
Нажми «Играть» и наступи на площадку: она станет зелёной, а в Output отобразится часть тела, например Left Leg. Затем нажми «Проверить».
Попробуйте сами
local pad = script.Parent
pad.Touched:Connect(function(hit)
-- 1. Выведите имя детали, которая коснулась платформы
-- 2. Окрасьте платформу в зелёный цвет
end)
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый обби3События и игроки
Сенсорная плитаЛавовый полLeaderstatsКто к ней прикоснулся?Сборщик монетПовторное появление монетыДверь за монетыПотренируйтесь самостоятельно: Онлайн-компилятор Lua