using UnityEngine; public class MouseInputTool : Singleton { private float mouseLX; /// /// 鼠标左键X轴变化量 /// public float MouseLX { get { return mouseLX; } } private float mouseLY; /// /// 鼠标左键Y轴变化量 /// public float MouseLY { get { return mouseLY; } } private float mouseRX; /// /// 鼠标右键X轴变化量 /// public float MouseRX { get { return mouseRX; } } private float mouseRY; /// /// 鼠标右键Y轴变化量 /// public float MouseRY { get { return mouseRY; } } private float mouseCX; /// /// 鼠标中键X轴变化量 /// public float MouseCX { get { return mouseCX; } } private float mouseCY; /// /// 鼠标中键Y轴变化量 /// public float MouseCY { get { return mouseCY; } } private float mouseCWheel; /// /// 鼠标中键滚动变化量 /// public float MouseCWheel { get { return mouseCWheel; } } void Update() { // 获取鼠标变量 if (Input.GetMouseButton(0)) { mouseLX += Input.GetAxis("Mouse X"); mouseLY += Input.GetAxis("Mouse Y"); } if (Input.GetMouseButton(1)) { mouseRX += Input.GetAxis("Mouse X"); mouseRY += Input.GetAxis("Mouse Y"); } if (Input.GetMouseButton(2)) { mouseCX += Input.GetAxis("Mouse X"); mouseCY += Input.GetAxis("Mouse Y"); } mouseCWheel += Input.GetAxis("Mouse ScrollWheel"); // 计算鼠标变量衰减 mouseLX = Mathf.Abs(mouseLX) > 0.1f ? Mathf.Lerp(mouseLX, 0, Time.deltaTime) : 0; mouseLY = Mathf.Abs(mouseLY) > 0.1f ? Mathf.Lerp(mouseLY, 0, Time.deltaTime) : 0; mouseRX = Mathf.Abs(mouseRX) > 0.1f ? Mathf.Lerp(mouseRX, 0, Time.deltaTime) : 0; mouseRY = Mathf.Abs(mouseRY) > 0.1f ? Mathf.Lerp(mouseRY, 0, Time.deltaTime) : 0; mouseCX = Mathf.Abs(mouseCX) > 0.1f ? Mathf.Lerp(mouseCX, 0, Time.deltaTime) : 0; mouseCY = Mathf.Abs(mouseCY) > 0.1f ? Mathf.Lerp(mouseCY, 0, Time.deltaTime) : 0; mouseCWheel = Mathf.Abs(mouseCWheel) > 0.001f ? Mathf.Lerp(mouseCWheel, 0, Time.deltaTime) : 0; } }