HapticService

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス
複製されていません

現代のコントローラーとデバイスは、ハプティックフィードバックを提供するためにモーターを内蔵しています。音響や振動を追加すると、視覚的またはオーディオの形式で伝達するのが困難な潜在的なフィードバックを提供できます。

Roblox は、次のデバイスに対応のハプティックスをサポートしています:

  • ほとんどの iPhone、Pixel、および Samsung Galaxy デバイスをサポートするアンドロイドと iOS の電話
  • プレイステーションのゲームパッド
  • Xbox ゲームパッド
  • クエストタッチコントローラー

概要

方法

プロパティ

方法

GetMotor

現在の振動値セットを指定された UserInputType および Enum.VibrationMotor に戻します。これは以前に SetMotor が呼び出されていない場合には返りません。

パラメータ

指定された Enum.UserInputType

vibrationMotor: Enum.VibrationMotor

指定された Enum.VibrationMotor


戻り値

現在の振動値は、指定の Enum.UserInputType または nil に設定されていますが、Enum.VibrationMotor が以前に呼び出されていない場合は、SetMotor または nil に設定されています。

IsMotorSupported

指定されたモーターが指定された Enum.UserInputType で使用可能である場合、Return true。

パラメータ

特定の Enum.UserInputTypeEnum.VibrationMotor のサポートのためにチェックされています。

vibrationMotor: Enum.VibrationMotor

指定された Enum.VibrationMotor は、指定された Enum.UserInputType をサポートしているかどうかをチェックします。


戻り値

指定されたモーターが指定された Enum.UserInputType で使用できる場合、指定されていない場合は false です。

IsVibrationSupported

指定された Enum.UserInputType がハプティックフィードバックをサポートすると、真 が返されます。

パラメータ

指定された Enum.UserInputType は、ハプティックフィードバックをサポートしているかどうかをチェックします。


戻り値

指定された Enum.UserInputType がハプティックフィードバックをサポートしている場合は、True。

SetMotor

void

指定の UserInputTypeEnum.VibrationMotor の振動強度を設定します。ほとんどの使用ケースでは、Gamepad1 を 2>Class.InputObject.UserInputType2> として指定します。

パラメータ

指定された Enum.UserInputType

vibrationMotor: Enum.VibrationMotor

指定された Enum.VibrationMotor

vibrationValues: Tuple

モーターがどれくらい強く振動するかを示します。 テーブルの最初の値を使用しますが、数字でなるべきです。


戻り値

void

コードサンプル

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)

イベント