Lớp công cụ
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.
Tóm Tắt
Phương Pháp
GetMotor(inputType: Enum.UserInputType,vibrationMotor: Enum.VibrationMotor):Tuple |
IsMotorSupported(inputType: Enum.UserInputType,vibrationMotor: Enum.VibrationMotor):boolean |
IsVibrationSupported(inputType: Enum.UserInputType):boolean |
SetMotor(inputType: Enum.UserInputType,vibrationMotor: Enum.VibrationMotor,vibrationValues: Tuple):() |
Tài Liệu Tham Khảo API
Phương Pháp
GetMotor
Tham Số
Lợi Nhuận
IsMotorSupported
HapticService:IsMotorSupported(
Tham Số
Lợi Nhuận
IsVibrationSupported
Tham Số
Lợi Nhuận
SetMotor
HapticService:SetMotor(
):()
Tham Số
Lợi Nhuận
()
Mẫu mã
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
-- Theo dõi đầu vào này thủ công để cập nhật chính xác động cơ rung
cachedInputs[input] = input.Changed:Connect(onInputChanged)
end
end
end
end
UserInputService.InputBegan:Connect(onInputBegan)