Roblox Lua не распознает, когда boolvalue = true - PullRequest
0 голосов
/ 15 июня 2019

Я хочу, чтобы он отображал графический интерфейс, когда значение равно true для «Open».

Я даже начал игру со значением, равным true, и это не сработало. Ошибок тоже нет.

while script.Parent.Parent.Open.Value == true do
    script.Parent.Visible.Value = true
    script .Parent.Parent.Text2.Visible.Value = true
    break
end

Я хочу, чтобы на экране отображались два текстовых поля («Text1» и «Text2» с именем «EndlessPit». Также нет сообщений об ошибках.

Ответы [ 3 ]

0 голосов
/ 16 июня 2019

Во-первых, было бы полезно узнать, как выглядит родословная script, то есть, какой объект является его родителем, и так далее.Использование переменных для ссылки на эти объекты было бы хорошим началом.Кроме того, этот ScreenGui, называемый 'EndlessPit', предназначен для того, чтобы быть видимым все время или только в определенных точках?

Что касается вашего цикла while, может ли ваша проблема возникать из-за того, что вынемедленно выйти из цикла, вместо проверки какого-либо условия?Я не знаю всей истории здесь, поскольку вы предоставили только фрагмент кода, поэтому было бы полезно получить более полную картину и объяснение того, чего именно вы пытаетесь достичь.

Наконец, не нужно проверять, если true == true поскольку Open является BoolValue;такие проверки на равенство с bools не нужны.По большому счету, они незначительны, но их удаление немного оптимизирует ваш код.

0 голосов
/ 16 июня 2019

Поскольку вы уже используете BoolValues, вы можете просто заставить свой LocalScript наблюдать за изменениями значения. Вы можете сделать что-то вроде этого:

local openVal = script.Parent.Parent.Open
local parentGui = script.Parent
local text2 = script.Parent.Parent.Text2

openVal.Changed:Connect(function(value)
    parentGui.Visible = value
    text2.Visible = value
end)

Это позволит включать и выключать элементы при каждом изменении BoolValue с true на false или обратно на true.

0 голосов
/ 15 июня 2019

Мне просто нужно было удалить .Value за Visible

while script.Parent.Parent.Open.Value == true do
    print("moose")
    script.Parent.Visible = true
    script .Parent.Parent.Text2.Visible = true
    break
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...