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

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

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

vibrationMotor: 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 .

vibrationMotor: 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

void

Ustawia intensywność wibracji UserInputType i Enum.VibrationMotor. Uwaga, że prawie wszystkie przypadki użycia określają Gamepad1 jako 2> Class.InputObject.UserInputType2>.

Parametry

vibrationMotor: Enum.VibrationMotor
vibrationValues: Tuple

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


Zwroty

void

Przykłady kodu

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)

Zdarzenia