HapticService
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
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
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.
Kehrt wahr zurück, wenn der angegebene Motor mit dem angegebenen Enum.UserInputType verfügbar ist.
Kehrt wahr zurück, wenn die angegebene Enum.UserInputType Haptik-Feedback unterstützt.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Setzt die Vibrationseintensität des angegebenen UserInputType und Enum.VibrationMotor .
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 .
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.
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
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 .
Der angegebene Enum.VibrationMotor .
Wie intensiv der Motor vibrieren sollte. Verwendet nur den ersten Wert in der Tupel, der eine Zahl sein sollte.
Rückgaben
Code-Beispiele
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)