ProximityPrompt objetos incentivam a interação do usuário para acionar uma ação quando eles 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.
- Exibir a ação que um usuário pode fazer no Objeto, então gatilhar a ação através da entrada do usuário, como pressionar ou segurar uma chave.
- Exibir a entrada correta para todos os tipos de entrada, como um teclado, um controle / controle de jogoe chaves de tela.
Criando Prompts de Proximidade
Você deve pais prompts de proximidade para a peça, modelo ou acessório que você deseja que um usuário interaja. Para adicionar um prompts de proximidade a um objeto BasePart , Model ou Attachment Objeto
Do menu, insira um Prompt de Proximidade .
Personalizando Prompts de Proximidade
Você pode personalizar um prompt de proximidade com base em como você deseja que ele apareça, quando você deseja que ele seja visível e o que você deseja que um usuário faça para ativar a ação.
Aparência
As proximidades devem comunicar três coisas:
- O objeto que um usuário pode interagir.
- A ação ação que ocorre quando eles interagem com o prompt de proximidade.
- A chave que um usuário deve pressionar ou segurar.
Você pode especificar essas 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 gatilho.
KeyboardKeyCode O código de teclado que um usuário deve pressionar ou segurar para acionar a ação.
GamepadKeyCode O código de teclado do gamepad que um usuário deve pressionar ou segurar para acionar a ação.
Visibilidade
Você pode controlar quando o prompt de proximidade é visível através de sua MaxActivationDistance , RequiresLineOfSight e Exclusivity propriedades.
Distância de Ativação Máxima
A propriedade MaxActivationDistance permite que você defina o alcance ao redor do objeto ProximityPrompt que ativa a visibilidade do prompt de proximidade. Uma vez que um personagem do usuário entra nesse alcance, o prompt de proximidade se torna visível.
Requer Visão de Linha
A propriedade RequiresLineOfSight ativa a visibilidade do prompt de proximidade quando há um caminho claro da câmera para o objeto Class.ProximityPrompt . Por padrão, esta propriedade está definida como Objeto.
Exclusividade
Se o personagem de um usuário estiver dentro da alcance de vários prompt de proximidade, a visibilidade de cada prompt de proximidade depende de qual prom示 de proximidade o campeão está apontando, bem como do valor de propriedade Exclusivity do próximo prompt.
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 Segurança
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 essa propriedade tiver um valor de 0, o prompt de proximidade será acionado imediatamente.
Clickável
A propriedade ClickablePrompt especifica se um usuário pode clicar em um prompt de proximidade para iniciar sua ação. Quando definido como verdadeiro , um usuário pode interagir com o prompt de proximidade clicando diretamente no prompt de proximidade ou pressionando a chaveespecificada
Proximity Prompts de Script
Você pode se conectar a eventos de prompts de proximidade, tanto no objeto ProximityPrompt quanto globalmente através de ProximityPromptService. O ProximityPromptService permite que você gerencie todo o comportamento de prompts de proximidade, evitando a necessidade de código duplicado em sua experiência.
Evento | Descripción |
---|---|
PromptTriggered | Se activa cuando un jugador interactúa con un mensaje de proximidad (después de la duración para un mensaje con no-cero HoldDuration ). |
PromptTriggerEnded | Se activa cuando el jugador deja de interactuar con una solicitud de proximidad. |
PromptButtonHoldBegan | Se activa cuando un jugador comienza a interactuar con un mensaje de proximidad con un valor no nulo de HoldDuration . |
PromptButtonHoldEnded | Se activa cuando un jugador deja de interactuar con un mensaje de proximidad con un valor no nulo de HoldDuration . |
PromptShown | Activa en LocalScripts cuando se hace visible un mensaje de proximidad. |
PromptHidden | Activa en LocalScripts cuando se oculta un prom示. |
O seguinte código de exemplo inclui um framework básico para usar ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Detectar quando o prompt é acionado
local function onPromptTriggered(promptObject, player)
end
-- Detecte quando o seguramento de solicitação começar
local function onPromptHoldBegan(promptObject, player)
end
-- Detecte quando o seguramento de solicitação terminar
local function onPromptHoldEnded(promptObject, player)
end
-- Conecte eventos de saída às funções de processamento
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)