ProximityPrompt objetos incentivam a interação do usuário para disparar uma ação quando se aproximam de objetos na experiência, como portas, interruptores de luz e botões.Usando este Objeto, você pode:
- Indique quais objetos um usuário pode interagir na experiência.
- Exibe a ação que um usuário pode tomar no Objeto, então ativa a ação através da entrada do usuário, como pressionar ou segurar uma chave.
- Exibe a entrada correta para todos os tipos de entrada, como teclado, controle / controle de jogoe teclas de toque.
Criar prompts de proximidade
Você deve encaminhar solicitações de proximidade a uma parte, modelo ou anexo com o qual você quer que o usuário interaja.Para adicionar um prompt de proximidade a um BasePart , Model ou Attachment Objeto:
Na janela Explorer, passe o mouse sobre o BasePart, Model ou Attachment e clique no botão ⊕. Um menu contextual é exibido.
Do menu, insira um Prompt de Proximidade .
Personalizar solicitações de proximidade
Você pode personalizar um prompt de proximidade com base em como você quer que ele apareça, quando você quer que ele seja visível e o que você quer que um usuário faça para disparar a ação.
Aparência
Os avisos de proximidade precisam comunicar três coisas:
- O objeto que um usuário pode interagir com o qual.
- A ação que é acionada quando interagem com o prompt de proximidade que é acionada quando interagem com o prompt de proximidade.
- A chave que um usuário deve pressionar ou segurar.
Você pode especificar esses através das seguintes propriedades:
ObjectText Um nome opcional para o objeto com o qual um usuário pode interagir.
ActionText Um nome opcional para a ação que um usuário vai gatilho.
KeyboardKeyCode A tecla do teclado que um usuário deve pressionar ou segurar para ativar a ação.
GamepadKeyCode A tecla do gamepad que um usuário deve pressionar ou segurar para ativar a ação.
Visibilidade
Você pode controlar quando o prompt de proximidade é visível através de suas propriedades MaxActivationDistance, RequiresLineOfSight e Exclusivity.
Distância Máxima de Ativação
A propriedade MaxActivationDistance permite que você defina o alcance ao redor do objeto ProximityPrompt que ativa a visibilidade do aviso de proximidade.Uma vez que o personagem de um usuário entra nesse alcance, o prompt de proximidade se torna visível.

Requer Linha de Visão
A propriedade RequiresLineOfSight ativa a visibilidade do aviso de proximidade quando há um caminho claro da câmera para o ProximityPrompt.Por padrão, esta propriedade é definida como verdadeira.
Exclusividade
Se o personagem de um usuário está dentro do alcance de vários prompts de proximidade, a visibilidade de cada prompt de proximidade depende do prompt de proximidade em que a câmera está apontando, bem como do valor da propriedade de cada prompt de proximidade.

Interatividade
Você pode personalizar como um usuário interage com um prompt de proximidade através de suas propriedades HoldDuration e ClickablePrompt.
Duração de Apoio
A propriedade HoldDuration determina quantos segundos um usuário tem para pressionar uma tecla antes que a ação do prompt de proximidade seja acionada.Se esta propriedade tiver um valor de 0, a ação do prompt de proximidade é acionada imediatamente.
Aviso Clicável
A propriedade ClickablePrompt especifica se um usuário pode clicar em um prompt de proximidade para ativar sua ação.Quando definido para verdade , um usuário pode interagir com o prompt de proximidade clicando diretamente no prompt de proximidade ou pressionando a chaveespecificada.Quando definido para falso , um usuário só pode interagir com o prompt de proximidade pressionando a chaveespecificada.
Prompts de proximidade de script
Você pode se conectar a eventos de solicitação de proximidade no próprio objeto ProximityPrompt ou globalmente através de ProximityPromptService .O ProximityPromptService permite que você gerencie todo o comportamento de solicitação de proximidade de um local, evitando qualquer necessidade de código duplicado em sua experiência.
Evento | Descrição |
---|---|
PromptTriggered | Incêndios quando um jogador interage com um prompt de proximidade (depois da duração para um prompt com não zero HoldDuration ). |
PromptTriggerEnded | Ativa quando o jogador para de interagir com um prompt de proximidade. |
PromptButtonHoldBegan | Incêndios quando um jogador começa a interagir com um prompt de proximidade com um valor não zero HoldDuration . |
PromptButtonHoldEnded | Dispara quando um jogador para de interagir com um prompt de proximidade com um valor não zero HoldDuration . |
PromptShown | Gatilhos em LocalScripts quando um aviso de proximidade é feito visível. |
PromptHidden | Gatilhos em LocalScripts quando um prompt é ocultado. |
O seguinte exemplo de código inclui um framework básico para usar ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Detectar quando o prompt é acionado
local function onPromptTriggered(promptObject, player)
end
-- Detectar quando o seguramento do prompt começa
local function onPromptHoldBegan(promptObject, player)
end
-- Detectar quando os limites de espera são mantidos
local function onPromptHoldEnded(promptObject, player)
end
-- Conectar eventos de solicitação às funções de processamento
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)