У меня есть два графических интерфейса, которые открываются кнопкой, каждый в верхней части экрана, но я хочу сделать так, чтобы, если кто-то пытается открыть второй графический интерфейс с первым открытым, он закроет первый перед открытием второго. .
Roblox - Как мне создать сценарий, который закрывает открытый графический интерфейс при открытии другого?
Ответы (3)
Вы можете сделать что-то вроде:
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.OpenLog] = gui.UpdateLog, [gui.OpenInstructions] = gui.InsInterface, etc
- person EinsteinK; 16.02.2016
100% РАБОТА Чтобы сделать открывающий и закрывающий графический интерфейс ... Поместите этот скрипт: FIRSTGUINAME - это ваш первый графический интерфейс, переименуйте его, а SECONDGUINAME - это ваше второе имя интерфейса, так что ...
FIRSTGUINAME = script.Parent - очень важная классифицирующая информация SECONDGUINAME = script.Parent.Parent.Parent: WaitForChild (ВАШ ВТОРОЙ GUI)
FIRSTGUINAME.MouseButton1Click: connect (function () SECONDGUINAME.Visible = not Visible
Вот и все, теперь просто скопируйте, вставьте это и свой набор
Если вы хотите закрыть графический интерфейс, если открыт другой, вы можете попробовать этот код:
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
Если вы увлекаетесь необычными делами с подростками, возможно, вам придется провести это исследование самостоятельно.