Как вы открываете и закрываете графический интерфейс в Roblox? - PullRequest
0 голосов
/ 14 апреля 2019

Я делаю игру в Roblox, и я столкнулся с ошибкой.Я пытаюсь сделать кнопку GUI, которая открывает магазин в игре.Но он не открывается.

Я пытался сделать кнопку невидимой, а магазин - видимым.Все хорошо работает, но гис не становятся видимыми / невидимыми.Это говорит об изменении видимости графического интерфейса в свойствах, но не показывает это в игре.Я также попытался изменить родительский интерфейс графического интерфейса, он работает для закрытия, но не для открытия.

gui = game.StarterGui.ShopSelection
button = game.StarterGui.Shop.Button
button.MouseButton1Down:Connect(function()
    gui.Visible = true
    button.Parent.Visible = false
end)

Это должно открывать графический интерфейс ShopSelection и закрывать графический интерфейс Shop при нажатии кнопки этого пользовательского интерфейса.Это не работает.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 14 апреля 2019

Ваша проблема в том, что вы обращаетесь к объекту из службы StarterGui. StarterGui клонирует его содержимое в папку PlayerGui проигрывателя после загрузки проигрывателя. Таким образом, вам нужно получить доступ к объекту оттуда. Для этого мы будем использовать LocalScript и обращаться к папке через объект LocalPlayer. Как примечание, LocalScripts может работать только в местах, которые являются прямыми потомками игрока, например StarterPack, StarterPlayerScripts, StarterCharacterScripts или StarterGui.

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = player:WaitForChild("PlayerGui"):WaitForChild("ShopSelection") --wait for objects
local button = player.PlayerGui:WaitForChild("Shop") --:WaitForChild() yields the thread until the given object is found, so we don't have to wait anymore.

button.MouseButton1Down:Connect(function()
    gui.Visible = true
    button.Visible = false
end)

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...