近接プロンプト

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ProximityPrompt オブジェクトは、ユーザーがドア、ライトスイッチ、ボタンなどのインエクスペリエンスオブジェクトに近づいたときにアクションをトリガーするように促します。このオブジェクトを使用すると、次のことができます:

  • ユーザーがエクスペリエンスで何と対話できるかを示すオブジェクト。
  • ユーザーがオブジェクトで取得できるアクションを表示し、ユーザーの入力を通じてアクションをトリガーします。たとえば、キーを押すか、または持つなどのユーザーの入力。
  • キーボード、ゲームパッド、タッチスクリーンのキーなど、すべての入力の正しい入力を表示します。

近接プロンプトの作成

ユーザーがインタラクトしたいパーツ、モデル、または付属物に近接プロンプトを親にする必要があります。BasePartModel、またはAttachmentオブジェクトに近接プロンプトを追加するには:

  1. In the エクスプローラー ウィンドウ, hover over the BasePart , Model , or 1> Class.Attachment1> and click the ⊕ button. A コンテキストメニューが表示されます。

  2. メニューから ProximityPrompt を挿入します。

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

近接プロンプトをカスタマイズ

ユーザーが 「アクションをトリガーする」 を 「見えるようにする」 という方法でカスタマイズできる近接プロンプトは、見えるようにする という方法でカスタマイズしたプロンプトと、アクションをトリガーする という方法でカスタマイズしたプロンプトの両方です。

外観

近接プロンプトは以下の 3つのことを伝達する必要があります:

  • ユーザーがインタラクトできる オブジェクト
  • 近接プロンプトとインタラクトするときにトリガーされる アクション
  • ユーザーが押すか、持つ必要がある キー

次のプロパティを通じて指定できます:

  • ObjectText ユーザーがインタラクトできるオブジェクトのオプション名。

  • ActionText ユーザーがトリガーするアクションのオプション名。

  • KeyboardKeyCode ユーザーがアクションをトリガーするために押すか、またはキーを長押しする必要があるキーボードのキー。

  • GamepadKeyCode ゲームパッドのキーは、ユーザーがアクションをトリガーするために押すか、または持っている必要があります。

    Diagram indicating basic elements of a ProximityPrompt

可視性

近接プロンプトが表示されるときに、MaxActivationDistanceRequiresLineOfSight、および Exclusivity プロパティを通じて、2>Class.ProximityPrompt.MaxActivationDistance|MaxActivationDistance

最大アクティベーション距離

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 プロパティは、 カメラ からProximityPrompt オブジェクトへのクリアなパスがあるときに近接プロンプトの可視性を有効にします。デフォルトでは、このプロパティは 1>True1> に設定されます。

排他性

ユーザーのキャラクターが複数の近接プロンプトの範囲内にある場合、各近接プロンプトの可視性は、カメラが指しているプロンプトの種類と、それぞれの近接プロンプトの Exclusivity プロパティ値によります。

ProximityPrompt objects set to exclusivity of OnePerButton
入力のキーコードごとに 1つの近接プロンプトしか表示されません。複数の近接プロンプトが使用されている場合は、キーコードが異なりますが、すべて表示されます。ただし、複数の近接プロンプトが同じキーコードを使用している場合は、カメラのビュー方向にかかわらず、1つの近接プロンプトしか表示されません。

インタラクティビティ

ユーザーが近接プロンプトとどのようにインタラクトするかをカスタマイズするには、HoldDuration および ClickablePrompt プロパティを通じて。

持続時間

Class.ProximityPrompt.HoldDuration|HoldDuration プロパティは、ユーザーが近接プロンプトのアクションをトリガーする前にキーを押す必要がある秒数を決定します。このプロパティには 0 の値がある場合、近接プロンプトのアクションはすぐにトリガーされます。

クリック可能なプロンプト

Class.ProximityPrompt.ClickablePrompt|ClickablePrompt プロパティは、ユーザーが近接プロンプキーをクリックしてアクションをトリガーできるかどうかを指定します。 true に設定されると、ユーザーは近接プロンプトを直接クリッキーして

近接プロンプトをスクリプト

Class.ProximityPrompt オブジェクト自体またはグローバルに通じる ProximityPromptService を通じて、近接リマインダーイベントに接続できます。ProximityPromptService は、あなたのエクスペリエンスで複製コードが必要ないように、1>Class.ProximityPrompt1> の

イベント説明
PromptTriggeredプレイヤーが近接プロンプトにインタラクトすると、Class.ProximityPrompt.HoldDuration|HoldDuration の期間後にファイアを起動します。
PromptTriggerEnded近接プロンプトとのインタラクションを停止したときにトリガーされます。
PromptButtonHoldBegan近接プロンプトとインタラクトするときに、HoldDuration の値で始まります。
PromptButtonHoldEnded近接プロンプトが Class.ProximityPrompt.HoldDuration|HoldDuration の値で接触を停止すると、ファイアを起動します。
PromptShown近接プロンプトが表示されるときに LocalScripts でトリガー。
PromptHiddenプロンプトが非表示になると、LocalScripts でトリガーが作動します。

次のコードサンプルには、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)