如何在 Roblox 中打开和关闭 gui?
Posted
技术标签:
【中文标题】如何在 Roblox 中打开和关闭 gui?【英文标题】:How do you open and close a gui in Roblox? 【发布时间】:2019-09-04 16:48:20 【问题描述】:我在 Roblox 中制作游戏时遇到了一个错误。我正在尝试制作在游戏中打开商店的 gui 按钮。但是打不开。
我试图让按钮不可见而商店可见。一切都很好,但 guis 不会变得可见/不可见。它说更改了 gui 在属性中的可见性,但它没有在游戏中显示。我还尝试更改 gui 的父级,它可以关闭但不能打开。
gui = game.StarterGui.ShopSelection
button = game.StarterGui.Shop.Button
button.MouseButton1Down:Connect(function()
gui.Visible = true
button.Parent.Visible = false
end)
这应该在按下 Shop gui 的按钮时打开 ShopSelection gui 并关闭 Shop gui。它不工作。请帮忙!
【问题讨论】:
【参考方案1】:您的问题是您正在从StarterGui
服务访问对象。一旦播放器加载,StarterGui
会将其内容克隆到播放器的 PlayerGui
文件夹中。因此,您需要从那里访问对象。为此,我们将使用LocalScript
并通过LocalPlayer
对象访问该文件夹。请注意,LocalScripts
只能在玩家的直系后代中运行,例如 StarterPack
、StarterPlayerScripts
、StarterCharacterScripts
或 StarterGui
。
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = player:WaitForChild("PlayerGui"):WaitForChild("ShopSelection") --wait for objects
local button = player.PlayerGui:WaitForChild("Shop") --:WaitForChild() yields the thread until the given object is found, so we don't have to wait anymore.
button.MouseButton1Down:Connect(function()
gui.Visible = true
button.Visible = false
end)
希望这会有所帮助!
【讨论】:
以上是关于如何在 Roblox 中打开和关闭 gui?的主要内容,如果未能解决你的问题,请参考以下文章