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

コードサンプル

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.

HapticService:SetMotor()

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)

イベント