ProximityPromptService 允许开发人员以全球方式与 ProximityPrompt 对象互动。它可能更方便通过此服务听取事件,而不是通过单个 ProximityPrompt 对象。
概要
属性
是否启用 ProximityPrompts ,从而在体验中显示。
最多 ProximityPrompts 个会显示给玩家的。
活动
在玩家开始按住 KeyboardKeyCode 键/按钮上的提示时触发。
在玩家按住KeyboardKeyCode键/按钮上,在提示上有一个非零HoldDuration的提示时触发。
触发客户端隐藏时。
触发客户端,当提示变为可见。
触发玩家停止按住 KeyboardKeyCode 键/按钮触发时。
触发用户与此提示互动时。
属性
Enabled
此属性确定是否启用 ProximityPrompts ,从而在体验中显示。当 false 时,将不会显示提示。
例如,在圆形系统中,您可以在体验中的某些点击关闭邻近基于交互:
local ProximityPromptService = game:GetService("ProximityPromptService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local enablePrompts = ReplicatedStorage:FindFirstChild("EnablePrompts") -- 可绑定的事件
-- 连接到 BindableEvent 并从另一个控制体验逻辑的脚本发射
enablePrompts.OnServerEvent:Connect(function(enabled)
ProximityPromptService.Enabled = enabled
end)
方法
活动
PromptButtonHoldBegan
此事件触发时玩家开始按住KeyboardKeyCode键/按钮上的提示,并且在提示上具有非零HoldDuration。
参数
玩家开始与其互动的提示。
持有钥匙/按钮的玩家。
PromptButtonHoldEnded
此事件触发时,玩家停止按住 KeyboardKeyCode 键/按钮上的提示,提示上具有一个非零 HoldDuration 。
参数
玩家停止与其互动的提示。
释放被持有的钥匙/按钮的玩家。
PromptShown
当提示变得可见时,客户端在连接的本地脚本中触发客户端。
参数
变为可见的提示实例。
导致事件触发的输入。
PromptTriggerEnded
此事件触发时,玩家停止按住 KeyboardKeyCode 键/按钮,并且触发了一个提示。这是为了允许在体验中需要玩家按住键/按钮的交互。
参数
玩家停止与其互动的提示。
释放钥匙/按钮的玩家。
PromptTriggered
此事件触发时,玩家完成与提示的交互,例如当 KeyboardKeyCode 键/按钮被按下,或者在指定的时间后,如果提示的 HoldDuration 为零,键/按钮的持有时间为零。
参数
玩家与之交互的提示。
互动玩家。