Я создаю главное меню в Lua (Roblox Studio), и кнопка «Начать игру/играть» не работает.
я попробовал этот код для кнопки воспроизведения, но кнопка не реагировала
local button = script.Parent
local main_menu = script.Parent.Parent.Parent.Parent
local main_menu_frame = script.Parent.Parent.Parent
main_menu.Enabled = true
game.Lighting.Blur.Enabled = true
while true do
if button.MouseButton1Click == true then
game.Lighting.Blur.Enabled = false
main_menu.Enabled = false
main_menu_frame.Active = false
main_menu_frame.Transparency = 1
main_menu_frame.Visible = false
end
task.wait(0.1)
end
Обновлено: я перепутал логическое значение с событием, моя вина! Подключите функцию к событию, а затем запустите свой код.
Измените свой код на:
local button = script.Parent
local main_menu = script.Parent.Parent.Parent.Parent
local main_menu_frame = script.Parent.Parent.Parent
main_menu.Enabled = true
game.Lighting.Blur.Enabled = true
button.MouseButton1Click:Connect(function()
game.Lighting.Blur.Enabled = false
main_menu.Enabled = false
main_menu_frame.Active = false
main_menu_frame.Transparency = 1
main_menu_frame.Visible = false
task.wait(0.1)
end)
Код, который вы написали, зациклился в ожидании завершения события button.MouseButton1Click
. Это вызвало бесконечный цикл срабатывания кнопки и последующее ожидание завершения цикла.
Вам не нужен цикл для проверки события. Вместо этого просто проверьте, срабатывает ли событие кнопки MouseButton1Down
, а затем запустите свой код, поскольку функция task.wait()
действует как устранение дребезга без цикла.
MouseButton1Click
— это не логическое значение, это Событие. Это означает, что вместо постоянной проверки истинности button.MouseButton1Click
вам следует просто определить функцию с той же функциональностью и привязать ее к рассматриваемому событию с помощью метода Connect()
.
Кроме того, MouseButton1Click
, вероятно, здесь неправильный выбор. Активированный будет выполнять аналогичную функцию, но с большей кросс-совместимостью.
Этот LocalScript должен помочь:
local button = script.Parent
local main_menu = script.Parent.Parent.Parent.Parent
local main_menu_frame = script.Parent.Parent.Parent
main_menu.Enabled = true
-- This function defines what should happen when the button gets clicked
local function onClick()
game.Lighting.Blur.Enabled = false
main_menu.Enabled = false
main_menu_frame.Active = false
main_menu_frame.Transparency = 1
main_menu_frame.Visible = false
end
-- And this line ensure the function is called every time the button is activated
button.Activated:Connect(onClick)