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
Trả về giá trị rung hiện tại được đặt vào UserInputType và Enum.VibrationMotor đã được chỉ định.
Trả về true nếu động cơ được chỉ định có sẵn để sử dụng với định dạng Enum.UserInputType được chỉ định.
Trả về true nếu được chỉ định Enum.UserInputType hỗ trợ phản hồi haptic.
- SetMotor(inputType : Enum.UserInputType,vibrationMotor : Enum.VibrationMotor,vibrationValues : Tuple):()
Đặt độ rung của được chỉ định UserInputType và Enum.VibrationMotor .
Thuộc Tính
Phương Pháp
GetMotor
Trả về giá trị rung hiện tại được đặt vào UserInputType và Enum.VibrationMotor đã được chỉ định.Điều này sẽ không trả lại bất cứ thứ gì nếu SetMotor() chưa được gọi trước đó.
Tham Số
Các được định Enum.UserInputType .
Các được định Enum.VibrationMotor .
Lợi Nhuận
Giá trị rung hiện tại được đặt vào Enum.UserInputType và Enum.VibrationMotor hoặc nil nếu SetMotor() chưa được gọi trước đó.
IsMotorSupported
Trả về true nếu động cơ được chỉ định có sẵn để sử dụng với định dạng Enum.UserInputType được chỉ định.
Tham Số
Cụ thể Enum.UserInputType đang được kiểm tra cho Enum.VibrationMotor hỗ trợ.
The specified Enum.VibrationMotor được kiểm tra xem nó có hỗ trợ định dạng Enum.UserInputType được chỉ định hay không.
Lợi Nhuận
Boolean của true nếu động cơ được chỉ định có sẵn để sử dụng với định nghĩa Enum.UserInputType , false nếu không.
IsVibrationSupported
Trả về true nếu được chỉ định Enum.UserInputType hỗ trợ phản hồi haptic.
Tham Số
The specified Enum.UserInputType được kiểm tra xem nó có hỗ trợ phản hồi haptic không.
Lợi Nhuận
Boolean của true nếu được chỉ định Enum.UserInputType hỗ trợ phản hồi haptic.
SetMotor
Đặt độ rung của được chỉ định inputType và vibrationMotor .Lưu ý rằng gần như tất cả các trường hợp sử dụng đều đặc trưng Enum.UserInputType.Gamepad1 cho inputType mà được định vị nội bộ lên tương ứng với phần cứng của thiết bị.
Tham Số
Các được định Enum.UserInputType .
Các được định Enum.VibrationMotor .
Mức độ rung mạnh mẽ mà động cơ nên có. Chỉ sử dụng giá trị đầu tiên trong tuple, mà nên là một số.
Lợi Nhuận
Mẫu mã
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.
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)