HapticService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
現代のコントローラーとデバイスは、ハプティックフィードバックを提供するためにモーターを内蔵しています。音響や振動を追加すると、視覚的またはオーディオの形式で伝達するのが困難な潜在的なフィードバックを提供できます。
Roblox は、次のデバイスに対応のハプティックスをサポートしています:
- ほとんどの iPhone、Pixel、および Samsung Galaxy デバイスをサポートするアンドロイドと iOS の電話
- プレイステーションのゲームパッド
- Xbox ゲームパッド
- クエストタッチコントローラー
概要
方法
現在の振動値セットを指定された UserInputType および Enum.VibrationMotor に戻します。これは以前に SetMotor が呼び出されていない場合には返りません。
指定されたモーターが指定された Enum.UserInputType で使用可能である場合、Return true。
指定された Enum.UserInputType がハプティックフィードバックをサポートすると、真 が返されます。
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
指定された UserInputType と Enum.VibrationMotor の振動強度を設定します。
プロパティ
方法
GetMotor
現在の振動値セットを指定された UserInputType および Enum.VibrationMotor に戻します。これは以前に SetMotor が呼び出されていない場合には返りません。
パラメータ
指定された Enum.UserInputType 。
指定された Enum.VibrationMotor。
戻り値
現在の振動値は、指定の Enum.UserInputType または nil に設定されていますが、Enum.VibrationMotor が以前に呼び出されていない場合は、SetMotor または nil に設定されています。
IsMotorSupported
指定されたモーターが指定された Enum.UserInputType で使用可能である場合、Return true。
パラメータ
特定の Enum.UserInputType が Enum.VibrationMotor のサポートのためにチェックされています。
指定された Enum.VibrationMotor は、指定された Enum.UserInputType をサポートしているかどうかをチェックします。
戻り値
指定されたモーターが指定された Enum.UserInputType で使用できる場合、指定されていない場合は false です。
IsVibrationSupported
指定された Enum.UserInputType がハプティックフィードバックをサポートすると、真 が返されます。
パラメータ
指定された Enum.UserInputType は、ハプティックフィードバックをサポートしているかどうかをチェックします。
戻り値
指定された Enum.UserInputType がハプティックフィードバックをサポートしている場合は、True。
SetMotor
指定の UserInputType と Enum.VibrationMotor の振動強度を設定します。ほとんどの使用ケースでは、Gamepad1 を 2>Class.InputObject.UserInputType2> として指定します。
パラメータ
指定された Enum.UserInputType 。
指定された Enum.VibrationMotor。
モーターがどれくらい強く振動するかを示します。 テーブルの最初の値を使用しますが、数字でなるべきです。
戻り値
コードサンプル
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)