HapticService

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

I moderni controller e dispositivi hanno motori incorporati per fornire Riscontro/Replicatattili. L'aggiunta di rombi e vibrazioni può fornire feedback sottili che è difficile da trasmettere attraverso visualizzazioni o audio/suono.

Roblox supporta l'ottimizzazione per i seguenti dispositivi:

  • Telefoni Android e iOS che supportano l'ottimizzazione dei pulsanti, tra cui la maggior parte degli iPhone, Pixel e dispositivi Galaxy
  • PlayStation gamepads
  • Controller Xbox
  • Controller del touch della missione

Sommario

Metodi

Proprietà

Metodi

GetMotor

Ritorna il valore di vibrazione corrente impostato all' UserInputType e Enum.VibrationMotor . Ciò non restituirà nulla se SetMotor non è stato chiamato prima.

Parametri

Il specifico Enum.UserInputType .

vibrationMotor: Enum.VibrationMotor

Il Enum.VibrationMotor specificato.


Restituzioni

Il valore di vibrazione attuale impostato su Enum.UserInputType e Enum.VibrationMotor o nil se SetMotor non è stato chiamato prima.

IsMotorSupported

Restituisce vero se il motore specificato è disponibile per essere utilizzato con il motore specificato Enum.UserInputType .

Parametri

Il specifico Enum.UserInputType che viene controllato per il AssistenzaEnum.VibrationMotor .

vibrationMotor: Enum.VibrationMotor

Il Enum.VibrationMotor specificato controllato per vedere se supporta il Enum.UserInputType specificato.


Restituzioni

Verifichiamo se il motore specificato è disponibile per essere utilizzato con il motore specificato Enum.UserInputType , false se no.

IsVibrationSupported

Restituisce vero se il Enum.UserInputType specificato supporta i Riscontro/Replicatattili.

Parametri

Il Enum.UserInputType specificato è stato controllato per vedere se supporta i Riscontro/Replicatattili.


Restituzioni

Vero se il Enum.UserInputType specificato supporta i Riscontro/Replicatattili.

SetMotor

void

Imposta l'intensità di vibrazione del UserInputType e Enum.VibrationMotor . Nota che quasi tutti i casi d'uso specificano Gamepad1 come 2> Class.InputObject.UserInputType2> .

Parametri

Il specifico Enum.UserInputType .

vibrationMotor: Enum.VibrationMotor

Il Enum.VibrationMotor specificato.

vibrationValues: Tuple

Quanto deve rumorare il motore. Utilizza solo il primo valore nella tupla, che dovrebbe essere un numero.


Restituzioni

void

Campioni di codice

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)

Eventi