HapticService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

Moderne Controller und Geräte haben Motoren in sich, die haptisches Feedback liefern. Wenn man Rumpel und Vibrationen hinzufügt, kann man subtile Feedback geben, die schwer zu vermitteln sind, durch visuelle oder AudiodateienKanäle.

Roblox unterstützt Haptics für die folgenden Geräte:

  • Android- und iOS-Handys, die Haptics unterstützen, einschließlich der meisten iPhone, Pixel und Samsung Galaxy-Geräte
  • PlayStation-Spielpads
  • Xbox-Spielpads
  • Controller

Zusammenfassung

Methoden

Eigenschaften

Methoden

GetMotor

Kehrt der aktuellen Vibration-Werte-Set auf das angegebene UserInputType und Enum.VibrationMotor zurück. Dies wird nichts zurückgeben, wenn SetMotor vorher nicht aufgerufen wurde.

Parameter

Der angegebene Enum.UserInputType .

vibrationMotor: Enum.VibrationMotor

Der angegebene Enum.VibrationMotor .


Rückgaben

Der aktuelle Vibrierungswert wird auf Class.HapticService:SetMotor()|SetMotor oder null gesetzt, wenn Class.HapticService:SetMotor() nicht vorher aufgerufen wurde.

IsMotorSupported

Kehrt wahr zurück, wenn der angegebene Motor mit dem angegebenen Enum.UserInputType verfügbar ist.

Parameter

Der spezifische Enum.UserInputType wird für die Supportvon Enum.VibrationMotor überprüft.

vibrationMotor: Enum.VibrationMotor

Der angegebene Enum.VibrationMotor wurde überprüft, um zu sehen, ob er den angegebenen Enum.UserInputType unterstützt.


Rückgaben

Gilt, wenn der angegebene Motor mit dem angegebenen Enum.UserInputType verwendet werden kann, oder falsch, wenn nicht.

IsVibrationSupported

Kehrt wahr zurück, wenn die angegebene Enum.UserInputType Haptik-Feedback unterstützt.

Parameter

Der angegebene Enum.UserInputType wurde überprüft, um zu sehen, ob er haptisches Feedback unterstützt.


Rückgaben

True, wenn die angegebene Enum.UserInputType Haptik-Feedback unterstützt.

SetMotor

void

Setzt die Vibrationseintensität des angegebenen UserInputType und Enum.VibrationMotor . Beachten Sie, dass fast alle Anwendungsfälle Gamepad1 als 2>Class.InputObject.UserInputType2> verwenden.

Parameter

Der angegebene Enum.UserInputType .

vibrationMotor: Enum.VibrationMotor

Der angegebene Enum.VibrationMotor .

vibrationValues: Tuple

Wie intensiv der Motor vibrieren sollte. Verwendet nur den ersten Wert in der Tupel, der eine Zahl sein sollte.


Rückgaben

void

Code-Beispiele

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)

Ereignisse