靈地雷提示

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

ProximityPrompt 對象會鼓勵使用者互動以啟動行動,當他們靠近體驗對象,例如門、燈、按鈕。使用此物件,您可以:

  • 指示使用者在體驗中可以與哪些對象互動。
  • 顯示使用者可以對對物件執行的行動,然後通過使用者輸入按一下或按住鍵等方式來觸發此行動。
  • 顯示所有輸入類型的正確輸入,例如鍵盤、遊戲手柄和觸摸屏鍵。

創建接近提示

您必須將親近提示親近提示提示與您想要的用戶互動的零件、模型或附件。若要將親近提示添加到 BasePartModelAttachment 物件:

  1. 探險家 窗口中,將鼠標擺動在 BasePartModel 或 1> Class.附件1> 上,然後單擊 4> ⊕ 按鈕4>。一個上下文菜單顯示。

  2. 從選單中插入 ProximityPrompt

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

自訂近接提示

您可以根據您想要的顯示方式,自訂您想要的提示。當您想要它變得可見,並且您想要用戶用戶2>觸發操作2>時。

外觀

接近提示需要傳送三個訊息:

  • 使用者可以與 對象 互動。
  • 當接近提示與之交互時發動的 行動
  • 使用者必須按下或按住的

您可以通過以下屬性指定這些:

  • ObjectText 一個用戶可以與對象互動的可選名稱。

  • ActionText 一個可選的名稱,用戶將會啟動的動作。

  • KeyboardKeyCode 按鍵是用戶必須按下或按住才能夠觸發行動作。

  • GamepadKeyCode 遊戲控制器鍵是玩家必須按下或按住才能啟動操動作。

    Diagram indicating basic elements of a ProximityPrompt

可視性

您可以通過其 MaxActivationDistanceRequiresLineOfSightExclusivity 屬性來控制靈敏度提示的時間。

最大啟動距離

Class.ProximityPrompt.MaxActivationDistance|MaxActivationDistance 屬性可讓您定義範圍從ProximityPrompt對象那裡啟動靈活提示的可見度。一旦使用者的角色進入範圍,靈機提示就會顯示。

Diagram indicating how a character's distance from a ProximityPrompt object affects whether the prompt appears on screen

需要視線

Class.ProximityPrompt.RequiresLineOfSight|RequiresLineOfSight 屬性啟用鏡頭到 Class.ProximityPrompt 對物件的路徑清晰時,即可啟用靠近提示。 預設值為 "真"。

獨家性

如果使用者的角色位於多個近接提示範圍內,每個近接提示的可視性都取決於攝影機所指向的近接提示,以及每個近接提示的 Exclusivity 屬性值。

ProximityPrompt objects set to exclusivity of OnePerButton
每個輸入的鑰匙碼都只會顯示一個接近提示。如果多個範圍內的接近提示使用不同的鑰匙碼,它們都會顯示。但如果多個範圍內的接近提示使用相同的鑰匙碼,只會顯示一個接近提示在任何瞬間,這取決於攝影機的視角。

交互

您可以通過其 HoldDurationClickablePrompt 屬性自訂用戶與接近提示的互動方式。

持續時間

Class.ProximityPrompt.HoldDuration|HoldDuration 屬性決定用戶在接近提示的行動啟動前需要按下的鍵數。如果此屬性有值為 0,接近提示的行動將立即啟動。

可按一下的提示

Class.ProximityPrompt.ClickablePrompt|ClickablePrompt 屬性指定用戶是否可以單擊接近提示來啟動其動作動。當 設為 真,用戶可以與接近提示直接點擊 按指定鍵來互動。當1>設為1>假,用戶只

設置鄰近提示

您可以連接到接近提示事件,例如在 ProximityPrompt 對象上或在全球通過 ProximityPromptServiceProximityPromptService 允許您管理所有接近提示行為從一個地點,防止任何需要重複代碼的體驗。

事件說明
PromptTriggered發射時間發生在玩家與接近提示互動 (在有非零 HoldDuration 的持續時間後)。
PromptTriggerEnded當玩家停止與接近提示互動時,會觸發。
PromptButtonHoldBegan發射時玩家開始與使用非零 HoldDuration 值的接近提示互動。
PromptButtonHoldEnded發生玩家與靈敏提示互動失敗時,HoldDuration 值。
PromptShown會在 LocalScripts 中触發,當接近提示變得可見。
PromptHiddenLocalScripts 中,當提示隱藏時會啟動。

下列代碼範例包含使用 ProximityPromptService 的基本框架:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- 偵測提示時是否啟動
local function onPromptTriggered(promptObject, player)
end
-- 偵測提示持續時間
local function onPromptHoldBegan(promptObject, player)
end
-- 偵測提示持續時間
local function onPromptHoldEnded(promptObject, player)
end
-- 連接提示事件到處理功能
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)