Я пишу компьютер в студии Roblox, где на мониторе есть кнопка входа в систему, и я хочу, чтобы, когда игрок нажимал эту кнопку, отображался кадр из моего экрана. Пробовал разные коды, но ни один не помог. Последний сценарий был сценарием. (Я попробовал как локальный, так и обычный сценарий этого кода, оба не сработали.) Этот сценарий находится в кнопке поверхностного интерфейса.
local MyButton = script.Parent
local frame = game.StarterGui.ScreenGui.Frame
MyButton.MouseButton1Click:Connect(function()
frame.Visible = true
end)
![иерархия StarterGui.] (https://i.sstatic.net/TMWlbZBJ.png)
Я попытался создать код, в котором при нажатии кнопки кадр будет виден.
Здесь у вас есть две основные проблемы: первая — это тот факт, что вы слушаете GuiButton на сервере и меняете StarterGui.
Вместо того, чтобы серверный сценарий прослушивал события, вы должны использовать LocalScript, поместить SurfaceGui в ScreenGui и установить Adorne SurfaceGui для этой части.
Оттуда вы можете прослушать событие из LocalScript. Что-то вроде приведенного ниже.
local SurfaceGui = script.Parent.SurfaceGui
local ScreenPart = workspace.Screen
local frame = script.Parent.Frame
SurfaceGui.Adornee = ScreenPart
SurfaceGui.Button.MouseButton1Click:Connect(function()
frame.Visible = true
end)
(где LocalScript находится в корне ScreenGui)
Как настроить иерархию? прямо сейчас он у меня настроен, имеет поверхностный графический интерфейс внутри детали и экранный графический интерфейс в стартовом графическом интерфейсе с рамкой, которую я хочу открыть.