HapticService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Los controles y dispositivos modernos tienen motores integrados para proporcionar opinióntáctil. Añadir ruidos y vibraciones puede proporcionar una retroalimentación sutil que es difícil de transmitir a través de visuales o sonido, audio.
Roblox soporta hápticos para los siguientes dispositivos:
- Teléfonos Android y iOS que admiten hápticos, incluidos la mayoría de los iPhone, Pixel y Galaxy
- Plataformas de juegos de PlayStation
- Consolas de juegos Xbox
- Control (ES_MX)de Quest Touch
Resumo
Métodos
Devuelve el valor de vibración actual establecido a UserInputType y Enum.VibrationMotor . Esto no devolverá nada si SetMotor no ha sido llamado antes.
Devuelve true si el motor especificado está disponible para ser usado con el especificado Enum.UserInputType .
Regresa true si el especificado Enum.UserInputType soporta opiniónháptica.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Establece la intensidad de vibración del UserInputType y Enum.VibrationMotor .
Propriedades
Métodos
GetMotor
Devuelve el valor de vibración actual establecido a UserInputType y Enum.VibrationMotor . Esto no devolverá nada si SetMotor no ha sido llamado antes.
Parâmetros
El especificado Enum.UserInputType .
El especificado Enum.VibrationMotor .
Devolução
El valor de vibración actual asignado al especificado Enum.UserInputType y Enum.VibrationMotor o nulo si SetMotor no ha sido llamado anteriormente.
IsMotorSupported
Devuelve true si el motor especificado está disponible para ser usado con el especificado Enum.UserInputType .
Parâmetros
El tipo de entrada específico Enum.UserInputType que se está verificando para el Soportede Enum.VibrationMotor .
El especificado Enum.VibrationMotor verificado para ver si soporta el especificado Enum.UserInputType .
Devolução
Verdadero si el motor especificado está disponible para usar con el especificado Enum.UserInputType , falso si no.
IsVibrationSupported
Regresa true si el especificado Enum.UserInputType soporta opiniónháptica.
Parâmetros
El especificado Enum.UserInputType se ha marcado para ver si soporta opiniónháptica.
Devolução
Verdadero si el especificado Enum.UserInputType soporta opiniónháptica.
SetMotor
Establece la intensidad de vibración del UserInputType y Enum.VibrationMotor . Nota que casi todos los casos de uso especifican Gamepad1 como el 2>Class.InputObject.UserInputType2> .
Parâmetros
El especificado Enum.UserInputType .
El especificado Enum.VibrationMotor .
Cuán intenso debe vibrar el motor. Solo usa el primer valor en el tupla, que debe ser un número.
Devolução
Amostras de código
local UserInputService = game:GetService("UserInputService")
local HapticService = game:GetService("HapticService")
local cachedInputs = {} -- Note that we use a cache so we don't attach a Changed event more than once.
local keyToVibration = {
[Enum.KeyCode.ButtonL2] = Enum.VibrationMotor.Small,
[Enum.KeyCode.ButtonR2] = Enum.VibrationMotor.Large,
}
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
-- Watch this InputObject manually so we can accurately update the vibrationMotor.
local function onChanged(property)
if property == "Position" then
HapticService:SetMotor(inputType, vibrationMotor, input.Position.Z)
end
end
cachedInputs[input] = input.Changed:Connect(onChanged)
end
end
end
end
UserInputService.InputBegan:Connect(onInputBegan)