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
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)