Кнопки не реагируют в студии роблокс

Я создаю главное меню в 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

1
51
2

Ответы:

Решено

Обновлено: я перепутал логическое значение с событием, моя вина! Подключите функцию к событию, а затем запустите свой код.

Измените свой код на:

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)