ProximityPrompt Objekte ermutigen die Interaktion mit dem Benutzer, um eine Aktion auszulösen, wenn sie In-Experience-Objekte wie Türen, Lichtschalter und Knöpfe erreichen.Mit diesem Objekt kannst du:
- Zeigen Sie an, mit welchen Objekten ein Benutzer in der Erlebnisinteragieren kann.
- Zeigen Sie die Aktion, die ein Benutzer am Objekt durchführen kann, und aktivieren Sie die Aktion durch Benutzereingabe wie Drücken oder Halten einer Schlüssel.
- Zeige die richtige Eingabe für alle Eingabetypen, wie Tastatur, Gamepad und Touchscreen-Tasten.
Erstellt Näherungsaufforderungen
Du musst die Näherungsaufforderungen an das Teil, das Modell oder die Anlage richten, mit der du einen Benutzer interagieren möchtest.Um eine Näherungsaufforderung zu einem BasePart , Model oder Attachment Objekt hinzuzufügen:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über die BasePart, Model oder Attachment und klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
Aus dem Menü, fügen Sie ein ProximityPrompt ein.
Anpassen von Näherungsaufforderungen
Du kannst eine Näherungsaufforderung anpassen, basierend darauf, wie du möchtest, dass sie erscheint, wenn du möchtest, dass sie sichtbar ist und was du möchtest, dass ein Benutzer tut, um die Aktion auszulösen.
Aussehen
Proximity-Aufforderungen müssen drei Dinge kommunizieren:
- Das Objekt , mit dem ein Benutzer interagieren kann.
- Die Aktion , die ausgelöst wird, wenn sie mit dem Näherungsaufforderung interagieren.
- Die Taste , die ein Benutzer drücken oder halten muss.
Du kannst sie durch die folgenden Eigenschaften spezifizieren:
ObjectText Ein optioneller Name für das Objekt, mit dem ein Benutzer interagieren kann.
ActionText Ein optioneller Name für die Aktion, die ein Benutzer Auslöser.
KeyboardKeyCode Die Tastaturtaste, die ein Benutzer drücken oder halten muss, um die Actionauszulösen.
GamepadKeyCode Der Gamepad-Taste, die ein Benutzer drücken oder halten muss, um die Actionauszulösen.
Sichtbarkeit
Du kannst kontrollieren, wann die Näherungsaufforderung durch ihre MaxActivationDistance, RequiresLineOfSight und Exclusivity Eigenschaften sichtbar ist.
Maximale Aktivierungsdistanz
Die Eigenschaft MaxActivationDistance ermöglicht es Ihnen, die Reichweite vom Umfeld des ProximityPrompt Objekts zu definieren, das die Sichtbarkeit des Proximity-Prompts aktiviert.Sobald der Charakter eines Benutzers in diese Reichweite eintreten, wird die Näherungsaufforderung sichtbar.

Erfordert Linie des Sehens
Die Eigenschaft RequiresLineOfSight aktiviert die Sichtbarkeit des Abstandsanzeiges, wenn es einen klaren Weg von der Kamera zum ProximityPrompt gibt.Standardmäßig wird diese Eigenschaft auf wahr gesetzt.
Ausschließlichkeit
Wenn der Charakter eines Benutzers in Reichweite von mehreren Näherungsaufforderungen ist, hängt die Sichtbarkeit jedes Näherungsaufforderungs von der Zielrichtung der Kamera ab, sowie vom Exclusivity Eigenschaftswert jedes Näherungsaufforderungs.

Interaktivität
Du kannst anpassen, wie ein Benutzer mit einer Näherungsaufforderung durch seine HoldDuration und ClickablePrompt Eigenschaften interagiert.
Haltezeit
Die Eigenschaft HoldDuration bestimmt, wie viele Sekunden ein Benutzer hat, bevor die Aktion des Näherungsaufforderungs-Prompts ausgelöst wird.Wenn diese Eigenschaft einen Wert von 0 hat, wird die Aktion des Proximity-Prompts sofort ausgelöst.
Klickbares Prompt
Die ClickablePrompt Eigenschaft gibt an, ob ein Benutzer auf eine Näherungsaufforderung klicken kann, um seine Actionauszulösen.Wenn auf wahr eingestellt, kann ein Benutzer mit der Näherungsaufforderung interagieren, indem er die Näherungsaufforderung oder direkt durch Drücken der angegebenen Schlüsselanklickt.Wenn auf falsch eingestellt, kann ein Benutzer nur mit der Näherungsaufforderung interagieren, indem er die angegebene Schlüsseldrückt.
Skript-Näherungsaufforderungen
Du kannst dich mit Näherungsaufforderungsereignissen verbinden, entweder auf dem ProximityPrompt Objekt selbst oder global durch ProximityPromptService .Die ProximityPromptService ermöglicht es Ihnen, das gesamte Verhalten der Näherungsfenster von einem Ort aus zu verwalten, wodurch jede Notwendigkeit von duplizierten Codes in Ihrer Erlebnisvermieden wird.
Ereignis | Beschreibung |
---|---|
PromptTriggered | Feuert, wenn ein Spieler mit einer Näherungsmeldung interagiert (nach der Dauer für eine Meldung mit nicht Null HoldDuration ). |
PromptTriggerEnded | Löst aus, wenn der Spieler die Interaktion mit einem Näherungshinweis aufhört. |
PromptButtonHoldBegan | Feuert, wenn ein Spieler beginnt, mit einem Näherungshinweis mit einem nicht Null-Wert zu interagieren HoldDuration. |
PromptButtonHoldEnded | Feuert, wenn ein Spieler aufhört, mit einem Näherungshinweis mit einem nicht Null-Wert HoldDuration zu interagieren. |
PromptShown | Auslöser in LocalScripts, wenn ein Näherungshinweis sichtbar gemacht wird. |
PromptHidden | Auslöser in LocalScripts, wenn ein Eingabeaufforderung ausgeblendet wird. |
Das folgende Codebeispiel enthält einen Grundrahmen für die Verwendung von ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Erkennen, wenn eine Aufforderung ausgelöst wird
local function onPromptTriggered(promptObject, player)
end
-- Erkennen, wenn die Eingabeaufforderung beginnt
local function onPromptHoldBegan(promptObject, player)
end
-- Erkennen, wenn Prompt-Enden gehalten werden
local function onPromptHoldEnded(promptObject, player)
end
-- Verbinde Ereignisse der Eingabeaufforderung mit Handlungsfunktionen
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)