HapticService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Kontroler dan perangkat modern memiliki motor bawaan yang dibangun untuk memberikan umpan masukanhaptik. Menambahkan rumbles dan getaran dapat memberikan umpan balik yang halus yang sulit untuk dikonveksikan melalui visual atau audio.
Roblox mendukung haptics untuk perangkat berikut:
- Ponsel Android dan iOS yang mendukung haptics termasuk kebanyakan iPhone, Pixel, dan Samsung Galaxy
- PlayStation gamepads
- Controller Xbox
- kontrolerTouch Quest
Rangkuman
Metode
Mengembalikan nilai getaran saat ini yang ditetapkan ke UserInputType dan Enum.VibrationMotor . Ini tidak akan mengembalikan apa pun jika SetMotor belum dipanggil sebelumnya.
Mengembalikan benar jika motor yang ditentukan tersedia untuk digunakan dengan Enum.UserInputType yang ditentukan.
Kembalinya benar jika Enum.UserInputType yang ditentukan mendukung umpan balik masukan.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Tetapkan intensitas getaran dari UserInputType dan Enum.VibrationMotor .
Properti
Metode
GetMotor
Mengembalikan nilai getaran saat ini yang ditetapkan ke UserInputType dan Enum.VibrationMotor . Ini tidak akan mengembalikan apa pun jika SetMotor belum dipanggil sebelumnya.
Parameter
Jenis Enum.UserInputType yang ditentukan.
ENSEMBLE.VIBRATIONMOTOR yang ditentukan.
Memberikan nilai
Nilai getaran saat ini ditetapkan ke Enum.UserInputType dan Enum.VibrationMotor atau nol jika SetMotor belum dipanggil sebelumnya.
IsMotorSupported
Mengembalikan benar jika motor yang ditentukan tersedia untuk digunakan dengan Enum.UserInputType yang ditentukan.
Parameter
Enam.UserInputType yang spesifik diperiksa untuk dukungan Enum.VibrationMotor.
The specified Enum.VibrationMotor checked to see if it supports the specified Enum.UserInputType .
Memberikan nilai
Benar jika motor yang ditentukan tersedia untuk digunakan dengan enum.userinputtype , false jika tidak.
IsVibrationSupported
Kembalinya benar jika Enum.UserInputType yang ditentukan mendukung umpan balik masukan.
Parameter
En册.UserInputType yang ditentukan diperiksa untuk melihat apakah itu mendukung umpan balik masukan.
Memberikan nilai
Benar jika Enum.UserInputType yang ditentukan mendukung umpan balik masukan.
SetMotor
Tetapkan intensitas getaran dari UserInputType dan Enum.VibrationMotor . Catat bahwa hampir semua kasus pengguna menyebutkan Gamepad1 sebagai 1> Class.InputObject.UserInputType|UserInputType1> .
Parameter
Jenis Enum.UserInputType yang ditentukan.
ENSEMBLE.VIBRATIONMOTOR yang ditentukan.
Seberapa intensnya motor harus bergulir. Hanya menggunakan nilai pertama dalam tuple, yang harus menjadi angka.
Memberikan nilai
Contoh Kode
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)