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.
Nowoczesne sterowanie i urządzenia mają zbudowane silniki, aby zapewnić haptyczne opinie. Dodanie rumbli i wibracji może zapewnić subtelne zwrotnice, które są trudne do przekazania poprzez wizualne lub dźwiękowe.
Roblox wspiera haptics dla następujących urządzeń:
- Telefony Android i iOS wspierające haptics, w tym większość iPhone, Pixel i urządzeń Samsung Galaxy
- Gamepady PlayStation
- Xbox Gamepady
- Kontroler Touch Quest
Podsumowanie
Metody
Zwraca obecną wibracyjną wartość ustawioną do UserInputType i Enum.VibrationMotor. Nie zwraca nic, jeśli SetMotor nie zostało wezwane wcześniej.
Wróщает prawdę, jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType .
Wróщает prawdę, jeśli określony Enum.UserInputType wspiera zwrot opinie.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Ustawia intensywność wibracji określonego UserInputType i Enum.VibrationMotor.
Właściwości
Metody
GetMotor
Zwraca obecną wibracyjną wartość ustawioną do UserInputType i Enum.VibrationMotor. Nie zwraca nic, jeśli SetMotor nie zostało wezwane wcześniej.
Parametry
Specjalny Enum.UserInputType .
Specjalny Enum.VibrationMotor .
Zwroty
Obecna wartość wibracji ustawiona na Enum.UserInputType i Enum.VibrationMotor lub nil, jeśli SetMotor nie został wywołany wcześniej.
IsMotorSupported
Wróщает prawdę, jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType .
Parametry
Specjalny Enum.UserInputType sprawdzany dla wsparcia Enum.VibrationMotor .
Wskazany Enum.VibrationMotor sprawdził, czy wspiera wskazany Enum.UserInputType .
Zwroty
Prawdą, jeśli określony silnik jest dostępny do użycia z określonym Enum.UserInputType , fałszywie, jeśli nie.
IsVibrationSupported
Wróщает prawdę, jeśli określony Enum.UserInputType wspiera zwrot opinie.
Parametry
Wskazany Enum.UserInputType sprawdził, czy wspiera on haptic opinie.
Zwroty
Prawdziwy, jeśli określony Enum.UserInputType wspiera haptic opinie.
SetMotor
Ustawia intensywność wibracji UserInputType i Enum.VibrationMotor. Uwaga, że prawie wszystkie przypadki użycia określają Gamepad1 jako 2> Class.InputObject.UserInputType2>.
Parametry
Specjalny Enum.UserInputType .
Specjalny Enum.VibrationMotor .
Jak silnie silnik powinien wibrować. Używa tylko pierwszej wartości w tabeli, 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)