Invites de proximité

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

ProximityPrompt objects encourage l'interaction des utilisateurs pour déclencher une action lorsqu'ils s'approchent d'objets dans l'expérience tels que des portes, des interrupteurs et des boutons. À l'aide de cet objet, vous pouvez :

  • Indiquer quels objets un utilisateur peut interagir avec dans l'expérience.
  • Afficher l'action qu'un utilisateur peut effectuer sur l'objet, puis déclencher l'action par l'entrée utilisateur, comme appuyer ou maintenir une touche.
  • Afficher l'entrée correcte pour tous les types d'entrée, tels que le clavier, la manette et les touches à écran tactile.

Créer des invites de proximité

Vous devez parenté les invites de proximité à la pièce, au modèle ou à l'attachement avec lequel vous souhaitez qu'un utilisateur interagisse. Pour ajouter une invite de proximité à un objet BasePart, Model ou Attachment :

  1. Dans la fenêtre Explorer, survolez le BasePart, Model ou Attachment et cliquez sur le bouton ⊕. Un menu contextuel s'affiche.

  2. Dans le menu, insérez une ProximityPrompt.

    Hiérarchie de l'explorateur montrant un ProximityPrompt parenté à un Attachment

Personnaliser les invites de proximité

Vous pouvez personnaliser une invite de proximité en fonction de son apparence, de quand vous souhaitez qu'elle soit visible et de ce que vous voulez qu'un utilisateur fasse pour déclencher l'action.

Apparence

Les invites de proximité doivent communiquer trois choses :

  • L'objet avec lequel un utilisateur peut interagir.
  • L'action qui se déclenche lorsqu'il interagit avec l'invite de proximité.
  • La touche que l'utilisateur doit appuyer ou maintenir.

Vous pouvez spécifier cela à travers les propriétés suivantes :

  • ObjectText Un nom optionnel pour l'objet avec lequel un utilisateur peut interagir.

  • ActionText Un nom optionnel pour l'action que l'utilisateur déclenchera.

  • KeyboardKeyCode La touche du clavier que l'utilisateur doit appuyer ou maintenir pour déclencher l'action.

  • GamepadKeyCode La touche de la manette que l'utilisateur doit appuyer ou maintenir pour déclencher l'action.

    Diagramme indiquant les éléments de base d'un ProximityPrompt

Visibilité

Vous pouvez contrôler quand l'invite de proximité est visible grâce à ses propriétés MaxActivationDistance, RequiresLineOfSight et Exclusivity.

MaxActivationDistance

La propriété MaxActivationDistance vous permet de définir la portée autour de l'objet ProximityPrompt qui active la visibilité de l'invite de proximité. Une fois que le personnage d'un utilisateur entre dans cette portée, l'invite de proximité devient visible.

Diagramme indiquant comment la distance d'un personnage par rapport à un objet ProximityPrompt affecte l'apparition de l'invite à l'écran

RequiresLineOfSight

La propriété RequiresLineOfSight active la visibilité de l'invite de proximité lorsqu'il existe un chemin dégagé entre la caméra et l'objet ProximityPrompt. Par défaut, cette propriété est définie sur vrai.

Exclusivité

Si le personnage d'un utilisateur est à portée de plusieurs invites de proximité, la visibilité de chaque invite de proximité dépend de l'invite de proximité sur laquelle la caméra pointe, ainsi que de la valeur de propriété Exclusivity de chaque invite de proximité.

Objets ProximityPrompt réglés sur l'exclusivité OnePerButton
Une seule invite de proximité est visible par code de touche d'entrée. Si plusieurs invites de proximité à portée utilisent des codes de touche différents, elles sont toutes visibles. Cependant, si plusieurs invites de proximité à portée utilisent le même code de touche, une seule invite de proximité est visible à tout moment, en fonction de la direction de la vue de la caméra.

Interactivité

Vous pouvez personnaliser la manière dont un utilisateur interagit avec une invite de proximité grâce à ses propriétés HoldDuration et ClickablePrompt.

HoldDuration

La propriété HoldDuration détermine combien de secondes un utilisateur doit maintenir une touche avant que l'action de l'invite de proximité ne se déclenche. Si cette propriété a une valeur de 0, l'action de l'invite de proximité se déclenche immédiatement.

ClickablePrompt

La propriété ClickablePrompt spécifie si un utilisateur peut cliquer sur une invite de proximité pour déclencher son action. Lorsqu'elle est définie sur vrai, un utilisateur peut interagir avec l'invite de proximité en cliquant directement sur l'invite de proximité ou en appuyant sur la touche spécifiée. Lorsqu'elle est définie sur faux, un utilisateur ne peut interagir avec l'invite de proximité qu'en appuyant sur la touche spécifiée.

Script d'invites de proximité

Vous pouvez vous connecter aux événements d'invite de proximité soit sur l'objet ProximityPrompt lui-même, soit globalement via ProximityPromptService. Le ProximityPromptService vous permet de gérer tout le comportement des invites de proximité à partir d'un seul endroit, évitant toute nécessité de code dupliqué dans votre expérience.

ÉvénementDescription
PromptTriggeredSe déclenche lorsqu'un joueur interagit avec une invite de proximité (après la durée d'une invite ayant une HoldDuration non nulle).
PromptTriggerEndedSe déclenche lorsque le joueur arrête d'interagir avec une invite de proximité.
PromptButtonHoldBeganSe déclenche lorsque le joueur commence à interagir avec une invite de proximité ayant une valeur de HoldDuration non nulle.
PromptButtonHoldEndedSe déclenche lorsque le joueur arrête d'interagir avec une invite de proximité ayant une valeur de HoldDuration non nulle.
PromptShownSe déclenche dans LocalScripts lorsque l'invite de proximité devient visible.
PromptHiddenSe déclenche dans LocalScripts lorsque l'invite est masquée.

Le code d'exemple suivant comprend un cadre de base pour l'utilisation de ProximityPromptService :


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Détecter quand l'invite est déclenchée
local function onPromptTriggered(promptObject, player)
end
-- Détecter quand le maintien de l'invite commence
local function onPromptHoldBegan(promptObject, player)
end
-- Détecter quand le maintien de l'invite se termine
local function onPromptHoldEnded(promptObject, player)
end
-- Connecter les événements d'invite aux fonctions de gestion
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.