Inizia
Tutorial intermedi

Suggerimenti di prossimità

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Puoi creare suggerimenti di prossimità interattivi che appaiono quando gli utenti si avvicinano a oggetti nello spazio 3D e attivano azioni in base all'input dell'utente.

Questo tutorial utilizza il progetto Dungeon Delve come rassegna. Per seguire, aprilo in Studio prima di procedere.

Opzione Modifica in Studio dalla pagina principale dell'esperienza

Crea un suggerimento

I suggerimenti a schermo sono generati da un oggetto ProximityPrompt collegato a un Attachment, BasePart o Model.

  1. Seleziona il modello PrisonDoor nella vista 3D o dall'Esplora risorse (WorkspacePromptObjectsPrisonDoor).

  2. Espandi il suo albero e seleziona l'oggetto Door.

  3. Posizionare un suggerimento su un Attachment ti dà maggior controllo su dove avviene il punto di interazione, rispetto a posizionarlo direttamente sulla parte/modello. Inserisci un nuovo Attachment e rinominalo in PromptAttachment.

  4. Individua la proprietà Position del nuovo attacco e impostala su -2.25, -0.5, -0.5. Questo lo sposterà davanti al foro per la chiave della porta.

  5. Passa il mouse sopra PromptAttachment e inserisci un nuovo oggetto ProximityPrompt.

Aspetto del suggerimento

I suggerimenti sono composti da tre elementi principali, ognuno dei quali può essere controllato dalle seguenti proprietà:

  • ObjectText — Un nome opzionale per l'oggetto con cui si interagisce.
  • ActionText — Un nome opzionale dell'azione mostrata all'utente.
  • KeyboardKeyCode — Il tasto della tastiera che attiverà il suggerimento.
  • GamepadKeyCode — Il pulsante del gamepad che attiverà il suggerimento.

Per personalizzare l'aspetto del suggerimento della porta della prigione, apporta le seguenti modifiche:

  1. Nella finestra Proprietà, individua la proprietà ObjectText e digita Door.

  2. Per la proprietà ActionText, digita Pick Lock.

Distanza di attivazione

I suggerimenti appaiono quando il personaggio dell'utente si muove all'interno della definita gamma di MaxActivationDistance dell'oggetto padre del suggerimento.

Il valore di default funziona bene nella maggior parte dei casi, ma puoi spingere l'interazione dell'utente più vicino al lucchetto cambiando MaxActivationDistance a 4.

Durata della pressione

Il valore della proprietà HoldDuration determina quanto velocemente viene attivata l'azione del suggerimento, in secondi. Poiché questa porta deve essere forzata per sbloccarsi, cambia la proprietà HoldDuration a 4.

Implementa un'azione

Il modo migliore per rilevare gli eventi del suggerimento è tramite ProximityPromptService — questo ti consente di rilevare eventi in modo centrale senza dover allegare uno script a ciascun oggetto suggerimento.

Un framework di base è il seguente:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Rileva quando il suggerimento viene attivato
local function onPromptTriggered(promptObject, player)
end
-- Rileva quando inizia la pressione del suggerimento
local function onPromptHoldBegan(promptObject, player)
end
-- Rileva quando termina la pressione del suggerimento
local function onPromptHoldEnded(promptObject, player)
end
-- Collega gli eventi dei suggerimenti a funzioni di gestione
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
EventoDescrizione
PromptTriggeredSi attiva quando un utente interagisce con un suggerimento (dopo la durata per un suggerimento con HoldDuration diverso da zero).
PromptButtonHoldBeganSi attiva quando un utente inizia a interagire con un suggerimento con HoldDuration diverso da zero.
PromptButtonHoldEndedSi attiva quando un utente smette di interagire con un suggerimento con HoldDuration diverso da zero.

Nel progetto Dungeon Delve, questi eventi sono gestiti dallo script PromptEvents all'interno di ServerScriptService.

All'interno dello script, gli eventi sopra semplicemente chiamano funzioni all'interno di ModuleScript ObjectActions, anch'esso situato in ServerScriptService.


local ProximityPromptService = game:GetService("ProximityPromptService")
local ServerScriptService = game:GetService("ServerScriptService")
local ObjectActions = require(ServerScriptService.ObjectActions)
-- Rileva quando il suggerimento viene attivato
local function onPromptTriggered(promptObject, player)
ObjectActions.promptTriggeredActions(promptObject, player)
end
-- Rileva quando inizia la pressione del suggerimento
local function onPromptHoldBegan(promptObject, player)
ObjectActions.promptHoldBeganActions(promptObject, player)
end
-- Rileva quando termina la pressione del suggerimento
local function onPromptHoldEnded(promptObject, player)
ObjectActions.promptHoldEndedActions(promptObject, player)
end
-- Collega gli eventi dei suggerimenti a funzioni di gestione
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)

I suggerimenti di prossimità sono una soluzione conveniente e personalizzabile per l'interazione con oggetti di gioco. Consulta le pagine di riferimento ProximityPrompt e ProximityPromptService per ulteriori modi di controllare il comportamento dei suggerimenti e esplora altri oggetti interattivi in Dungeon Delve per ispirazione creativa.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.