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

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

Также помните, что части моего ответа не нужны. Например, вы можете просто сказать main_menu.visible=false, а не весь остальной код. Атрибуты .visible также устанавливают видимость всех его потомков.

histrueandfalse 05.08.2024 11:00
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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() действует как устранение дребезга без цикла.

@AndrewYim Я допустил ошибку и исправил свой ответ, пожалуйста, проголосуйте за него, если он правильный.

histrueandfalse 06.08.2024 01:36

тысм, я только новичок, и мне это очень нужно

Carlos Aranas 06.08.2024 03:13

@CarlosAranas также, пожалуйста, проголосуйте за мой ответ, если он вам нравится.

histrueandfalse 06.08.2024 03:14

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)

Комментарий @histrueandfalse применим и здесь — все, что после main_menu.Enabled = false, лишнее. Но для данного поста это не особо важно.

Andrew Yim 05.08.2024 21:40

Чтобы сделать комментарий Эндрю более кратким, вы можете установить для видимости значение false, а затем установить для размытия значение false. Атрибут видимости всех элементов пользовательского интерфейса устанавливает для себя и всех его потомков значение false.

histrueandfalse 06.08.2024 01:42

этот код не сработал, возможно, это потому, что я не использовал локальный скрипт

Carlos Aranas 06.08.2024 03:17

@CarlosAranas да, тебе нужен локальный скрипт

histrueandfalse 06.08.2024 03:18

Другие вопросы по теме