HapticService

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Serviço
Não replicado

Resumo

Métodos

Propriedades

Métodos

GetMotor

Retorna o valor de vibração atual definido para o especificado UserInputType e Enum.VibrationMotor.Isso não retornará nada se SetMotor() não foi chamado antes.

Parâmetros

O especificado Enum.UserInputType .

Valor Padrão: ""
vibrationMotor: Enum.VibrationMotor

O especificado Enum.VibrationMotor .

Valor Padrão: ""

Devolução

O valor de vibração atual definido para o especificado Enum.UserInputType e Enum.VibrationMotor ou nil se SetMotor() não foi chamado anteriormente.

IsMotorSupported

Retorna true se o motor especificado estiver disponível para ser usado com o especificado Enum.UserInputType.

Parâmetros

O específico Enum.UserInputType sendo verificado para SuporteEnum.VibrationMotor .

Valor Padrão: ""
vibrationMotor: Enum.VibrationMotor

O especificado Enum.VibrationMotor verificado para ver se ele suporta o especificado Enum.UserInputType .

Valor Padrão: ""

Devolução

Booleano de true se o motor especificado estiver disponível para ser usado com o especificado Enum.UserInputType , false se não.

IsVibrationSupported

Retorna true se o especificado Enum.UserInputType suportar comentário/retornoháptico.

Parâmetros

O especificado Enum.UserInputType verificado para ver se ele suporta comentário/retornoháptico.

Valor Padrão: ""

Devolução

Booleano de true se o especificado Enum.UserInputType suportar comentário/retornoháptico.

SetMotor

()

Define a intensidade de vibração do especificado inputType e vibrationMotor.Observe que quase todos os casos de uso especificam Enum.UserInputType.Gamepad1 para inputType que é mapeado internamente para o hardware respectivo do dispositivo.

Parâmetros

O especificado Enum.UserInputType .

Valor Padrão: ""
vibrationMotor: Enum.VibrationMotor

O especificado Enum.VibrationMotor .

Valor Padrão: ""
vibrationValues: Tuple

Quão intensamente o motor deve vibrar. Apenas usa o primeiro valor na tupla, que deve ser um número.

Valor Padrão: ""

Devolução

()

Amostras de código

Este exemplo faz o pequeno motor vibrar dependendo de quanta pressão é aplicada ao gatilho esquerdo e o grande motor vibrar dependendo de quanta pressão é aplicada ao gatilho direito.

Serviço Háptico: Definir Motor()

local UserInputService = game:GetService("UserInputService")
local HapticService = game:GetService("HapticService")
local cachedInputs = {}
local keyToVibration = {
[Enum.KeyCode.ButtonL2] = Enum.VibrationMotor.Small,
[Enum.KeyCode.ButtonR2] = Enum.VibrationMotor.Large,
}
local function onInputChanged(property)
if property == "Position" then
HapticService:SetMotor(inputType, vibrationMotor, input.Position.Z)
end
end
local function onInputBegan(input)
if not cachedInputs[input] then
local inputType = input.UserInputType
if inputType.Name:find("Gamepad") then
local vibrationMotor = keyToVibration[input.KeyCode]
if vibrationMotor then
-- Assista a esta entrada manualmente para atualizar com precisão o motor de vibração
cachedInputs[input] = input.Changed:Connect(onInputChanged)
end
end
end
end
UserInputService.InputBegan:Connect(onInputBegan)

Eventos