HapticService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Các điều khiển và thiết bị hiện đại có các motor được xây dựng để cung cấp phản hồi haptic. Thêm rumbles và vibrations có thể cung cấp phản hồi ngầm mà khó có thể truyền thông qua các hình ảnh hoặc âm thanh.
Roblox hỗ trợ haptics cho các thiết bị sau đây:
- Các thiết bị Android và iOS hỗ trợ haptics bao gồm hầu hết các thiết bị iPhone, Pixel và thiết bị Samsung Galaxy
- Bàn điều khiển PlayStation
- Điều khiển Xbox
- Chạm điều khiển
Tóm Tắt
Phương Pháp
Trả lại giá trị rung hiện tại được cài đặt cho UserInputType và Enum.VibrationMotor . Điều này sẽ không trả lại bất kỳ thứ gì nếu SetMotor đã khô
Trả lại true nếu động cơ được chỉ định có sẵn để sử dụng với Enum.UserInputType được chỉ định.
Trả lại true nếu Enum.UserInputType được hỗ trợ cho phản hồi haptic.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):void
Điều chỉnh độ rung của UserInputType và Enum.VibrationMotor .
Thuộc Tính
Phương Pháp
GetMotor
Trả lại giá trị rung hiện tại được cài đặt cho UserInputType và Enum.VibrationMotor . Điều này sẽ không trả lại bất kỳ thứ gì nếu SetMotor đã khô
Tham Số
The specified Enum.UserInputType .
Các Enum.VibrationMotor được định nghĩa.
Lợi Nhuận
Giá trị rung hiện tại được đặt cho Enum.UserInputType hoặc nil nếu Enum.VibrationMotor đã không được gọi trước đó.
IsMotorSupported
Trả lại true nếu động cơ được chỉ định có sẵn để sử dụng với Enum.UserInputType được chỉ định.
Tham Số
Các Enum.UserInputType được kiểm tra cho hỗ trợ Enum.VibrationMotor .
The specified Enum.VibrationMotor checked to see if it supports the specified Enum.UserInputType .
Lợi Nhuận
Đúng nếu động cơ được chỉ định có sẵn để sử dụng với Enum.UserInputType được chỉ định, false nếu không.
IsVibrationSupported
Trả lại true nếu Enum.UserInputType được hỗ trợ cho phản hồi haptic.
Tham Số
Các Enum.UserInputType được kiểm tra để xem có hỗ trợ phản hồi haptic không.
Lợi Nhuận
Đúng nếu Enum.UserInputType được chỉ định hỗ trợ hồi phản hồihaptic.
SetMotor
Điều chỉnh độ rung của UserInputType và Enum.VibrationMotor . Ghi chú rằng hầu như tất cả các trường hợp sử dụng đều đặt Gamepad1 làm 1> Class.InputObject.UserInputType1> .
Tham Số
The specified Enum.UserInputType .
Các Enum.VibrationMotor được định nghĩa.
Cường độ rung của motor. Chỉ sử dụng giá trị đầu tiên trong tuần tập, nó nên là một số.
Lợi Nhuận
Mẫu mã
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)