如何让 Roblox Proximity 开店 Frame

How to get the Roblox Proximity to open a store Frame

我通读了 Roblox 开发者中心,了解如何使 ProximityPrompt 工作,我可以让它做某些事情,但我希望能够在游戏 gui 商店中打开一个。我找不到如何调用 Frame 使其可见,也找不到如何让 Frame 寻找正确的触发器。

下面是我添加到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

然后这就是我的提示脚本显示的内容。

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)

我从开发者中心获取了所有这些,并试图将其变成我自己的,但由于我不明白的原因,这两者没有联系。

您注释掉的代码表明您犯了一个常见错误。 UI 在他们的角色生成时放置在 StarterGui acts as a template. It is copied into each player's PlayerGui 中。您似乎在尝试修改 UI 模板,而不是特定玩家看到的实​​际 UI。

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

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

prompt.Triggered:Connect(function()
    frame.Visible = true
end)