求助:GUI打开与关闭脚本问题(Part脚本无效,缺TextButton脚本)
解决Roblox GUI打开与关闭脚本问题
核心问题分析
你当前脚本的错误在于直接修改StarterGui中的界面——StarterGui只是界面的模板,玩家进入游戏后,Roblox会自动把这里的界面复制到每个玩家的PlayerGui文件夹中,修改模板不会影响玩家当前看到的界面,必须操作PlayerGui里的对应副本。
修正后的Part点击脚本
将以下代码作为LocalScript放在ClickDetector内部:
local Players = game:GetService("Players") local player = Players.LocalPlayer local playerGui = player.PlayerGui local clickDetector = script.Parent local function onClick() local screenGui = playerGui:WaitForChild("Hlavní") screenGui.Enabled = true end clickDetector.MouseClick:Connect(onClick)
补充关闭按钮的脚本
在你的TextButton内部添加LocalScript,代码如下:
local button = script.Parent local screenGui = button.Parent -- 假设按钮直接放在Hlavní这个ScreenGui下 button.MouseButton1Click:Connect(function() screenGui.Enabled = false end)
额外排查点
- 确保
Hlavní这个ScreenGui的Enabled属性初始值为false,否则打开操作不会有明显效果 - 检查LocalScript的父级是否正确,Roblox中LocalScript只能在玩家相关容器(如PlayerGui、PlayerScripts、Character)或工具、ClickDetector内运行
- 确认
ClickDetector已经正确附加到Part上,且Part的CanCollide属性不为false(否则玩家无法点击)
内容的提问来源于stack exchange,提问作者GameFunns 93
相关产品推荐
相关产品推荐

