Выключатель света для целой комнаты
Одна кнопка E переключает несколько ламп в комнате.
Все лампы включаются и выключаются одной кнопкой.
1. Подготовьте объект
Где разместить: Отдельные блоки кода: создайте файлы в указанных местах
В Workspace создайте Folder RoomLamps; внутрь добавьте несколько Parts с PointLight в каждом.
Создайте Part LightSwitch (Anchored=true) и поместите внутрь обычный Script LightSwitchScript.
В Play подойдите к кнопке и нажмите E. Все лампы из RoomLamps переключатся одновременно.
Это пути для скриптов из блоков кода ниже. Остальные объекты создайте по инструкции.
└── Workspace
└── LightSwitch
└── LightSwitchScript (Script)2. Вставьте код
local folder = workspace:WaitForChild("RoomLamps")
local switch = script.Parent
local prompt = Instance.new("ProximityPrompt")
prompt.ActionText = "Переключить свет"
prompt.MaxActivationDistance = 10
prompt.Parent = switch
local on = true
prompt.Triggered:Connect(function()
on = not on
for _, object in ipairs(folder:GetDescendants()) do
if object:IsA("Light") then object.Enabled = on end
end
end)3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Добавьте ещё две лампы.
Используйте PointLight разных цветов.
Соберите комнату с тайной дверью, которая видна только в темноте.
4. Проверьте себя
Как удобнее управлять несколькими лампами одной кнопкой?
Проверьте, что лампы находятся именно внутри RoomLamps. Лампы в других папках не изменятся.