← Все вопросы
Как сделать кнопку в Roblox, на которую нажимаешь и открывается дверь?
5
Хочу классику: подходишь к кнопке (детали), наступаешь — открывается дверь (другая деталь становится прозрачной и проходимой). Как связать две детали через скрипт?
2 ответа
8
✓ Принятый ответ — помог автору
Связываем через событие касания кнопки, а в ответ меняем свойства двери. Положи Script в кнопку:
local button = script.Parent
local door = workspace.Door
button.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
door.Transparency = 0.7 -- стала полупрозрачной
door.CanCollide = false -- сквозь неё теперь можно пройти
task.wait(3)
door.Transparency = 0 -- закрылась обратно
door.CanCollide = true
end
end)
Ключевое:
CanCollide = false— отключает столкновение, дверь становится проходимой. Без этого прозрачную дверь всё равно нельзя пройти.if humanoid then— чтобы кнопка реагировала на игрока, а не на любой упавший кубик.task.wait(3)+ возврат свойств — дверь сама закрывается через 3 секунды.
3
Чтобы дверь не "дёргалась", когда игрок стоит на кнопке (Touched ведь срабатывает часто), добавь флаг:
local isOpen = false
button.Touched:Connect(function(hit)
if isOpen then return end
if hit.Parent:FindFirstChild("Humanoid") then
isOpen = true
-- открыть... task.wait(3)... закрыть
isOpen = false
end
end)
Ваш ответ
Войдите, чтобы ответить на вопрос.