Näherungsaufforderungen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

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:

  1. 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.

  2. Aus dem Menü, fügen Sie ein ProximityPrompt ein.

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

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.

    Diagram indicating basic elements of a ProximityPrompt

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.

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

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.

ProximityPrompt objects set to exclusivity of OnePerButton
Nur eine Annäherungsaufforderung ist pro Eingabetaste sichtbar.Wenn mehrere Proximity-Prompts in Reichweite unterschiedliche Schlüsselcodes verwenden, sind sie alle sichtbar.Wenn jedoch mehrere In-Range-Proximity-Aufforderungen denselben Schlüsselcode verwenden, ist nur eine Proximity-Aufforderung zu jeder Zeit sichtbar, abhängig von der Sichtrichtung der Kamera.

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.

EreignisBeschreibung
PromptTriggeredFeuert, wenn ein Spieler mit einer Näherungsmeldung interagiert (nach der Dauer für eine Meldung mit nicht Null HoldDuration ).
PromptTriggerEndedLöst aus, wenn der Spieler die Interaktion mit einem Näherungshinweis aufhört.
PromptButtonHoldBeganFeuert, wenn ein Spieler beginnt, mit einem Näherungshinweis mit einem nicht Null-Wert zu interagieren HoldDuration.
PromptButtonHoldEndedFeuert, wenn ein Spieler aufhört, mit einem Näherungshinweis mit einem nicht Null-Wert HoldDuration zu interagieren.
PromptShownAuslöser in LocalScripts, wenn ein Näherungshinweis sichtbar gemacht wird.
PromptHiddenAuslö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)