HapticService

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service
Non répliqué

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

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é.

vibrationMotor: Enum.VibrationMotor

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

vibrationMotor: Enum.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

void

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é.

vibrationMotor: Enum.VibrationMotor

Le Enum.VibrationMotor spécifié.

vibrationValues: Tuple

Intensité de vibration du moteur. Utilisez la valeur première dans le tuple, qui devrait être un nombre.


Retours

void

Échantillons de code

HapticService:SetMotor

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)

Évènements