HapticService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Les contrôleurs et les appareils modernes ont des moteurs intégrés pour fournir des commentaires haptiques. Ajouter des rumeurs et des vibrations peut fournir des commentaires subtils qui sont difficiles à transmettre visuellement ou par l'audio.
Roblox prend en charge les haptiques pour les appareils suivants :
- Les téléphones Android et iOS pris en charge des haptiques, y compris la plupart des iPhone, des Pixel et des appareils Galaxy
- Plaques de jeu PlayStation
- Émetteurs Xbox
- Contrôleur de touche de quête
Résumé
Méthodes
Renvoie la valeur de vibration actuelle définie sur le UserInputType et Enum.VibrationMotor . Ceci ne renverra rien si SetMotor n'a pas été appelé auparavant.
Retourne vrai si le moteur spécifié est disponible à l'aide du Enum.UserInputType spécifié.
Retourne vrai si le Enum.UserInputType spécifié prend en charge les commentaires haptiques.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Définit l'intensité de vibration du UserInputType et Enum.VibrationMotor .
Propriétés
Méthodes
GetMotor
Renvoie la valeur de vibration actuelle définie sur le UserInputType et Enum.VibrationMotor . Ceci ne renverra rien si SetMotor n'a pas été appelé auparavant.
Paramètres
Le Enum.UserInputType spécifié.
Le Enum.VibrationMotor spécifié.
Retours
La valeur de vibration actuelle définie sur le Enum.UserInputType et Enum.VibrationMotor ou nil si SetMotor n'a pas été appelé auparavant.
IsMotorSupported
Retourne vrai si le moteur spécifié est disponible à l'aide du Enum.UserInputType spécifié.
Paramètres
Le Enum.UserInputType spécifique vérifié pour le assistanceEnum.VibrationMotor
Le Enum.VibrationMotor vérifié pour voir s'il prend en charge le Enum.UserInputType spécifié.
Retours
Vrai si le moteur spécifié est disponible à l'utilisation avec le Enum.UserInputType spécifié, faux s'il n'est pas.
IsVibrationSupported
Retourne vrai si le Enum.UserInputType spécifié prend en charge les commentaires haptiques.
Paramètres
Le Enum.UserInputType spécifié a vérifié si il prend en charge les commentaires haptiques.
Retours
Vrai si le Enum.UserInputType spécifié prend en charge les commentaires haptiques.
SetMotor
Définit l'intensité de vibration du UserInputType et Enum.VibrationMotor. Notez que presque tous les cas d'utilisation spécifient Gamepad1 comme le 2>Class.InputObject.UserInputType2>.
Paramètres
Le Enum.UserInputType spécifié.
Le Enum.VibrationMotor spécifié.
Intensité de vibration du moteur. Utilisez la valeur première dans le tuple, qui devrait être un nombre.
Retours
Échantillons de code
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)