如何打开 Roblox Proximity 商店界面

我在 Roblox 开发者中心阅读了有关如何使 ProximityPrompt 正常工作的内容,我可以让它做一些事情,但我想要能够使用它在游戏中打开 GUI 商店。我找不到如何调用框架使其可见,也找不到如何使框架查找正确的触发器。

以下是我添加到 Frame localScript 中的代码:

local prompt = game:GetService("ProximityPromptService")

local button = game.Workspace.MinerStore.ProximityPrompt.Triggered:WaitForChild()

local function prompt(PromptObject, player)
    frame.Visible = not frame.Visible

这是我的 Prompt 脚本显示的内容。

local frame = game.StarterGui.Miners:WaitForChild("Frame")

game.Workspace.MinerStore.ProximityPrompt.Triggered:Connect(function(player)
    --game.StarterGui.Miners.Frame:Connect(function(player)
    --  frame.Visible = not frame.Visible
    --end)

end)

我从开发者中心获得了所有这些内容,并尝试使它变成我的,但由于我不理解的原因,两者之间不连接。

原文链接 https://stackoverflow.com/questions/70469496

点赞
stackoverflow用户2860267
stackoverflow用户2860267

你注释掉的代码表明你正在犯一个常见的错误。放置在 StarterGui 中的 UI 作为模板。当玩家角色生成时,它被复制到每个玩家的 PlayerGui 中。你似乎试图修改 UI 模板,而不是特定玩家看到的实际 UI。

由于 ProximityPrompt 可以在 LocalScript 中观察到,因此可以直接在 UI LocalScript 中监听触发。

local prompt = game.Workspace.MinerStore.ProximityPrompt
local frame = script.Parent

prompt.Triggered:Connect(function()
    frame.Visible = true
end)
2021-12-24 05:08:16