Roblox - 当另一个打开GUI时,我如何创建一个关闭打开的GUI的脚本?

时间:2016-02-15 21:45:02

标签: user-interface scripting roblox

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

3 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

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提供了一些很好的教程,比如打开/关闭GUI。

答案 1 :(得分:0)

100%工作 打开和关闭gui ......放这个脚本:  FIRSTGUINAME是你的第一个gui,重命名它,SECONDGUINAME是你的第二个gui名字所以......

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

FIRSTGUINAME.MouseButton1Click:连接(()的函数     SECONDGUINAME.Visible =不可见

这就是全部,现在只需复制粘贴这个和你的设置

答案 2 :(得分:0)

如果要在打开另一个GUI时关闭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

如果您喜欢补间的奇特事物,则可能需要自己进行研究。