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 objets encouragent l'interaction des utilisateurs pour déclencher une action lorsqu'ils s'approchent d'objets dans le jeu tels que des portes, des interrupteurs et des boutons. En utilisant cet objet, vous pouvez :

  • Indiquer quels objets un utilisateur peut interagir dans le jeu.
  • Afficher l'action qu'un utilisateur peut effectuer sur l'objet, puis déclencher l'action par une entrée utilisateur telle que la pression ou le maintien d'une touche.
  • Afficher l'entrée correcte pour tous les types d'entrée, tels que les touches de clavier, de manette et d'é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 une ProximityPrompt parentée à un Attachment

Personnaliser les invites de proximité

Vous pouvez personnaliser une invite de proximité en fonction de la façon dont vous souhaitez qu'elle apparaisse, quand vous souhaitez qu'elle soit visible, et ce que vous souhaitez 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 ces éléments à 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 qu'un utilisateur déclenchera.

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

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

    Diagramme indiquant les éléments de base d'une 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 y a un chemin dégagé de la caméra à 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 celle sur laquelle la caméra pointe, ainsi que de la valeur de la propriété Exclusivity de chaque invite de proximité.

Objets ProximityPrompt définis sur l'exclusivité de 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 façon 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 true, 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 false, un utilisateur ne peut interagir avec l'invite de proximité qu'en appuyant sur la touche spécifiée.

Script des 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é depuis un seul endroit, évitant ainsi tout besoin de code dupliqué dans votre jeu.

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

L'exemple de code suivant inclut un cadre de base pour utiliser 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.