如何使工作区中的点击检测器在 StarterGui 中启用脚本? 罗布洛克工作室

问题描述

我是脚本新手,我刚刚开始,所以请非常具体地回答。我有一个模型(名为 SpawnBox),里面有一个点击检测器(名为 ClickDetector)。我在 StarterGui 中也有一个 Gui(名为 Gui)。该 gui 内部有一个框架(名为 Frame),其中当前有一个 LocalScript(称为 LocalScript)。这个 LocalScript 现在被禁用了,那么我如何使用我之前提到的点击检测器启用脚本?提前致谢。

解决方法

您可以创建一个普通脚本作为点击检测器的子项,并在其中执行以下操作:

-将点击检测器引用为 script.Parent
- 创建一个 .MouseClick 函数,该函数是用于启用 LocalScript 的代码

.MouseClick 函数构成:<Click Detector>.MouseClick:Connect(function(player) end)

<Click Detector>.MouseClick 函数带有一个参数,它是点击按钮的玩家(在 game.Players 中)。现在您需要引用玩家的 PlayerGui,因为这是每个玩家 Gui 的存放位置,也是唯一可以更改它们及其属性的地方。由于参数引用了 game.Players 中的播放器,因此您只需执行 <player>.PlayerGui 即可获得 PlayerGui。 (如果您运行游戏并单击浏览器选项卡中 Players 旁边的箭头,则会弹出玩家列表或您自己的列表。然后单击玩家旁边的箭头,您将看到 {{ 1}}。如果再进一步,您将看到名为 PlayerGui 的 ScreenGui,如果再次单击,您将看到名为 Gui 的框架)。此框架内是我们将启用的 LocalScript。

Frame 是脚本的布尔值(Disabledtrue)值属性。为了引用 Lua 中的属性,我们使用句点 false。获得脚本后,我们可以执行 . 来启用它。您的代码结构应如下所示:

<LocalScript>.Disabled = false
Define your Click Detector
Open a .MouseClick function with a parameter for the player who clicked
Get LocalScript by doing: local script = <player>.PlayerGui.Gui.Frame.LocalScript
Enable the script by doing: script.Disabled = false

额外帮助链接:
https://developer.roblox.com/en-us/api-reference/class/ClickDetector
https://developer.roblox.com/en-us/api-reference/class/PlayerGui

已编辑:
这里应该是资源管理器中脚本的层次结构:

点击检测器
└ 脚本

现在你的代码看起来像这样:

end the .MouseClick function

如果您在对象引用方面需要帮助,我建议您观看 AlvinBlox 的此视频:
https://www.youtube.com/watch?v=_K7stCkqFBY