HapticService

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Brak możliwości tworzenia
Usługa
Bez replikacji

Podsumowanie

Metody

Właściwości

Metody

GetMotor

Zwraca aktualną wartość wibracji ustawioną na określone UserInputType i Enum.VibrationMotor.Nie zwróci nic, jeśli SetMotor() nie zostało wezwane wcześniej.

Parametry

Wartość domyślna: ""
vibrationMotor: Enum.VibrationMotor
Wartość domyślna: ""

Zwroty

Obecna wartość wibracji ustawiona na określoną Enum.UserInputType i Enum.VibrationMotor lub nil jeśli SetMotor() nie została wezwana wcześniej.

IsMotorSupported

Wyświetla true jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType .

Parametry

Specyficzny Enum.UserInputType jest sprawdzany na wsparcie Enum.VibrationMotor .

Wartość domyślna: ""
vibrationMotor: Enum.VibrationMotor

Wskazane Enum.VibrationMotor sprawdzone, aby sprawdzić, czy wspiera wskazane Enum.UserInputType .

Wartość domyślna: ""

Zwroty

Boolean z true jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType , false jeśli nie.

IsVibrationSupported

Wyświetla true jeśli określone Enum.UserInputType wspiera opiniehaptyczny.

Parametry

Wskazany Enum.UserInputType sprawdzono, czy wspiera on haptyczną zwrotną opinie.

Wartość domyślna: ""

Zwroty

Boolean z true, jeśli określony Enum.UserInputType wspiera opiniehaptyczny.

SetMotor

()

Ustawia intensywność wibracji określonych inputType i vibrationMotor.Zauważ, że prawie wszystkie przypadki użycia określają Enum.UserInputType.Gamepad1 dla inputType, które są mapowane wewnętrznie na odpowiedni sprzęt urządzenie.

Parametry

Wartość domyślna: ""
vibrationMotor: Enum.VibrationMotor
Wartość domyślna: ""
vibrationValues: Tuple

Jak intensywnie silnik powinien wibrować. Używa tylko pierwszej wartości w tuple, która powinna być liczbą.

Wartość domyślna: ""

Zwroty

()

Przykłady kodu

This example makes the small motor vibrate depending on how much pressure is applied to the left trigger, and the large motor vibrate depending on how much pressure is applied to the right trigger.

HapticService:SetMotor()

local UserInputService = game:GetService("UserInputService")
local HapticService = game:GetService("HapticService")
local cachedInputs = {}
local keyToVibration = {
[Enum.KeyCode.ButtonL2] = Enum.VibrationMotor.Small,
[Enum.KeyCode.ButtonR2] = Enum.VibrationMotor.Large,
}
local function onInputChanged(property)
if property == "Position" then
HapticService:SetMotor(inputType, vibrationMotor, input.Position.Z)
end
end
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 input manually to accurately update the vibration motor
cachedInputs[input] = input.Changed:Connect(onInputChanged)
end
end
end
end
UserInputService.InputBegan:Connect(onInputBegan)

Zdarzenia