ProximityPrompt oggetti incoraggiano l'interazione dell'utente a attivare un'azione quando si avvicinano agli oggetti in-experience come porte, interruttori luminosi e pulsanti.Usando questo oggetto, puoi:
- Indica quali oggetti un utente può interagire nell'esperienza.
- Mostra l'azione che un utente può eseguire sull'oggetto, quindi attiva l'azione tramite l'input dell'utente come premere o tenere premuto una chiave.
- Mostra l'input corretto per tutti i tipi di input, come una tastiera, un gamepad e le chiavi dello schermo touch.
Crea prompt di prossimità
Devi genitori le richieste di vicinanza alla parte, al modello o all' allegato con cui vuoi che un utente interagisca.Per aggiungere una richiesta di prossimità a un oggetto BasePart, Model o Attachment :
Nella finestra Explorer, passa il mouse su BasePart, Model o Attachment e clicca il pulsante ⊕. Un menu contestuale viene visualizzato.
Dal menu, inserisci un Prompt di prossimità .
Personalizza i prompt di prossimità
Puoi personalizzare una richiesta di prossimità in base a come vuoi che appaia quando vuoi che sia visibile e a ciò che vuoi che un utente faccia per attivare l'azione .
Aspetto
Gli avvisi di prossimità devono comunicare tre cose:
- L'oggetto che un utente può interagire con.
- L'azione che si attiva quando interagiscono con il prompt di prossimità .
- La chiave che un utente deve premere o tenere premuta.
Puoi specificarli attraverso le seguenti proprietà:
ObjectText Un nome opzionale per l'oggetto con cui un utente può interagire.
ActionText Un nome opzionale per l'azione che un utente grilletto.
KeyboardKeyCode La tastiera che un utente deve premere o tenere premuta per attivare l'azione.
GamepadKeyCode La chiave del gamepad che un utente deve premere o tenere premuta per attivare l'azione.
Visibilità
Puoi controllare quando l'avviso di prossimità è visibile attraverso le sue proprietà MaxActivationDistance, RequiresLineOfSight e Exclusivity.
Distanza di attivazione massima
La proprietà MaxActivationDistance consente di definire l'intervallo intorno all'oggetto ProximityPrompt che attiva la visibilità del prompt di prossimità.Una volta che il personaggio di un utente entra in quel range, l'invito di prossimità diventa visibile.

Richiede LineOfSight
La proprietà attiva la visibilità del prompt di prossimità quando c'è un percorso chiaro dalla fotocamera all'oggetto >.Per impostazione predefinita, questa proprietà è impostata su true.
Esclusività
Se il personaggio di un utente è a portata di più prompt di prossimità, la visibilità di ciascun prompt di prossimità dipende da quale prompt di prossimità la fotocamera si sta dirigendo, nonché dal valore della proprietà Exclusivity di ciascun prompt di prossimità.

Interattività
Puoi personalizzare il modo in cui un utente interagisce con una richiesta di prossimità attraverso le sue proprietà HoldDuration e ClickablePrompt.
Durata Hold
La proprietà HoldDuration determina quante secondi deve premere un utente prima che l'azione del prompt di prossimità si attivi.Se questa proprietà ha un valore di 0 , l'azione del prompt di prossimità si attiva immediatamente.
Prompt Clickabile
La proprietà ClickablePrompt specifica se un utente può fare clic su un prompt di prossimità per attivare la sua azione.Quando è impostato su vero , un utente può interagire con il prompt di prossimità facendo clic direttamente sul prompt di prossimità o premendo la chiave specificata.Quando è impostato su falso , un utente può interagire solo con il prompt di prossimità premendo la chiave specificata.
Prompt di prossimità dello script
Puoi connetterti agli eventi di avviso di prossimità sia sull'oggetto ProximityPrompt stesso o globalmente attraverso ProximityPromptService .Il ProximityPromptService ti consente di gestire tutto il comportamento degli avvisi di prossimità da una posizione, impedendo la necessità di codice duplicato nella tua esperienza.
Evento | Descrizione |
---|---|
PromptTriggered | Si accende quando un giocatore interagisce con un prompt di prossimità (dopo la durata per un prompt con non zero HoldDuration ). |
PromptTriggerEnded | Si attiva quando il giocatore smette di interagire con un prompt di prossimità. |
PromptButtonHoldBegan | Si accende quando un giocatore inizia a interagire con un prompt di prossimità con un valore non zero HoldDuration . |
PromptButtonHoldEnded | Si accende quando un giocatore smette di interagire con un prompt di prossimità con un valore non zero HoldDuration . |
PromptShown | Si attiva in LocalScripts quando viene reso visibile un prompt di prossimità. |
PromptHidden | Trigger in LocalScripts quando un prompt viene nascosto. |
Il seguente esempio di codice include un framework di base per l'utilizzo di ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Rileva quando viene richiesto l'avviso
local function onPromptTriggered(promptObject, player)
end
-- Rileva quando inizia il mantenimento della prompt
local function onPromptHoldBegan(promptObject, player)
end
-- Rileva quando le estremità del prompt vengono mantenute
local function onPromptHoldEnded(promptObject, player)
end
-- Connetti eventi di prompt di elaborazione alle funzioni di elaborazione
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)