HapticService
*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.
Podsumowanie
Metody
Zwraca aktualną wartość wibracji ustawioną na określone UserInputType i Enum.VibrationMotor.
Wyświetla true jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType .
Wyświetla true jeśli określone Enum.UserInputType wspiera opiniehaptyczny.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):()
Ustawia intensywność wibracji określonych UserInputType i Enum.VibrationMotor.
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
Wskazany Enum.UserInputType .
Wskazany Enum.VibrationMotor .
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 .
Wskazane Enum.VibrationMotor sprawdzone, aby sprawdzić, czy wspiera wskazane Enum.UserInputType .
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.
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
Wskazany Enum.UserInputType .
Wskazany Enum.VibrationMotor .
Jak intensywnie silnik powinien wibrować. Używa tylko pierwszej wartości w tuple, która powinna być liczbą.
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.
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)