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
如果您喜欢补间的花哨内容,您可能需要自己进行研究。
我有两个 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
如果您喜欢补间的花哨内容,您可能需要自己进行研究。