Roblox - 我将如何制作一个脚本来在打开另一个 GUI 时关闭一个打开的 GUI?

Roblox - How would I make a script that closes an open GUI when another is opened?

我有两个 GUI,分别通过屏幕顶部的一个按钮打开,但我想这样做,如果有人试图在第一个打开的情况下打开第二个 GUI,它将关闭第一个在打开第二个之前。

您可以执行以下操作:

local frames = {
    [buttonA] = frameA;
    [buttonB] = frameB;
}
for button,frame in pairs(frames) do
    button.MouseButton1Click:connect(function()
        if frame.Visible then
            -- If we try to reopen the current frame, close it
            frame.Visible = false
            return
        end
        -- Close all frames and make ours visible
        for k,v in pairs(frames) do
            -- 'v == frame' is true if it's our frame
            v.Visible = v == frame
        end
    end)
end

您还应该查看 ROBLOX Wiki。它有一些很好的 Lua 教程和 opening/closing GUI 之类的东西。

100% 有效 制作一个打开和关闭的图形用户界面...把这个脚本: FIRSTGUINAME 是您的第一个 gui,重命名它,SECONDGUINAME 是您的第二个 gui 名称,所以...

FIRSTGUINAME = script.Parent -- 非常重要的分类信息 SECONDGUINAME = script.Parent.Parent.Parent:WaitForChild(您的第二个 GUI)

FIRSTGUINAME.MouseButton1Click:connect(函数() SECONDGUINAME.Visible = 不可见

就是这样,现在只需复制粘贴此内容和您的设置

如果你想在另一个 GUI 打开时关闭它,你可以试试这个代码:

GUI1 = (insert)
GUI2 = (insert)

GUI.MouseButton1Click:connect(function()
if GUI1.Visible == false then
if GUI2.Visible == true then
GUI2.Visible = false
GUI1.Visible = true
else
GUI.Visible = true
end
else 
GUI1.Visible = false
end

如果您喜欢补间的花哨内容,您可能需要自己进行研究。