靠近提示服务 允许开发人员以全球方式与 ProximityPrompt 对象进行交互。通过这个服务收听事件可能比通过单个 ProximityPrompt 对象更方便。
概要
属性
无论是否启用 ProximityPrompts,都会在体验中显示。
最大数量的 ProximityPrompts 将向玩家显示。
活动
当玩家开始按住 KeyboardKeyCode 键/按钮时触发提示上的非零 HoldDuration 键/按钮。
当玩家停止按住 KeyboardKeyCode 键/按钮时触发,该键/按钮在提示上具有非零 HoldDuration 。
当提示隐藏时触发客户端。
当提示显示时触发客户端。
当玩家停止按住 KeyboardKeyCode 键/按钮时触发提示时触发。
当用户与此提示互动时触发。
属性
Enabled
该属性决定是否启用 ProximityPrompts,因此在体验中显示。当为 false 时,不会显示任何提示。
例如,在基于回合的系统中,您可以在体验中的某些点禁用提示以禁用基于距离的交互:
local ProximityPromptService = game:GetService("ProximityPromptService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local enablePrompts = ReplicatedStorage:FindFirstChild("EnablePrompts") -- 可绑定事件
-- 连接到可绑定事件并从另一个控制体验逻辑的脚本发射
enablePrompts.OnServerEvent:Connect(function(enabled)
ProximityPromptService.Enabled = enabled
end)
方法
活动
PromptButtonHoldBegan
当玩家开始按住 KeyboardKeyCode 键/按钮时,在提示上按下非零 HoldDuration 时,此事件触发。
参数
玩家开始交互的提示。
持有钥匙/按钮的玩家。
PromptButtonHoldEnded
当玩家停止按住 KeyboardKeyCode 键/按钮时,触发此事件时提示具有非零 HoldDuration 。
参数
玩家停止与之交互的提示。
释放持有的键/按钮的玩家。
PromptShown
当提示显示时,此事件会触发客户端连接的本地脚本。
参数
变得可见的提示实例。
触发事件的输入。
PromptTriggerEnded
当玩家在触发提示时停止按住 KeyboardKeyCode 键/按钮时,此事件会触发。这是用于允许玩家在经验中发生时按住键/按钮的互动。
参数
玩家停止与之交互的提示。
释放键/按钮的玩家。
PromptTriggered
当玩家完成与提示的互动时,触发此事件,可能是当 KeyboardKeyCode 键/按钮按下时,或在指定时间后按住键/按钮,如果提示的 HoldDuration 为非零。
参数
玩家与之交互的提示。
互动的玩家。