HapticService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
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
Resumen
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 .
Propiedades
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 .
Devuelve
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 .
Devuelve
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.
Devuelve
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.
Devuelve
Muestras 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)