如何让 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)
我通读了 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)