国外建设网站的软件,优化算法 网站,移动端开发框架,湖南做网站Unity获取鼠标滚轮信息有以下一些方法#xff1a;
1、使用Input.GetAxis(“Mouse ScrollWheel”)来获取鼠标滚轮的信息#xff0c;如#xff1a; //法一#xff1a;float scrollWheelInput Input.GetAxis(Mouse ScrollWheel);if (scrollWheelInput 0f){…Unity获取鼠标滚轮信息有以下一些方法
1、使用Input.GetAxis(“Mouse ScrollWheel”)来获取鼠标滚轮的信息如 //法一float scrollWheelInput Input.GetAxis(Mouse ScrollWheel);if (scrollWheelInput 0f){Debug.Log(向上滚动鼠标滚轮);}else if (scrollWheelInput 0f){Debug.Log(向下滚动鼠标滚轮);}2、使用mouseScrollDelta变量如 //法二float scrollWheelInput1 Input.mouseScrollDelta.y;if (scrollWheelInput1 0f){Debug.Log(向上滚动鼠标滚轮);}else if (scrollWheelInput1 0f){Debug.Log(向下滚动鼠标滚轮);}3、假如我们想只在UGUI上滚动鼠标滚轮才获取信息可以使用一个专门的接口IScrollHandler实现的方法是 public void OnScroll(PointerEventData eventData){throw new System.NotImplementedException();}该函数的参数PointerEventData具有很多相关的数据 public class PointerEventData : BaseEventData{public ListGameObject hovered;public PointerEventData(EventSystem eventSystem);public bool useDragThreshold { get; set; }public bool dragging { get; set; }public InputButton button { get; set; }public float pressure { get; set; }public float tangentialPressure { get; set; }public float altitudeAngle { get; set; }public float azimuthAngle { get; set; }public float twist { get; set; }public Vector2 radius { get; set; }public Vector2 radiusVariance { get; set; }public bool fullyExited { get; set; }public bool reentered { get; set; }public Camera enterEventCamera { get; }public Camera pressEventCamera { get; }public GameObject pointerPress { get; set; }public Vector2 scrollDelta { get; set; }public int clickCount { get; set; }public float clickTime { get; set; }[Obsolete(Use either pointerCurrentRaycast.worldNormal or pointerPressRaycast.worldNormal)]public Vector3 worldNormal { get; set; }public GameObject pointerEnter { get; set; }public GameObject lastPress { get; }public GameObject rawPointerPress { get; set; }public GameObject pointerDrag { get; set; }public RaycastResult pointerCurrentRaycast { get; set; }public RaycastResult pointerPressRaycast { get; set; }public GameObject pointerClick { get; set; }public int pointerId { get; set; }public Vector2 position { get; set; }public Vector2 delta { get; set; }public Vector2 pressPosition { get; set; }[Obsolete(Use either pointerCurrentRaycast.worldPosition or pointerPressRaycast.worldPosition)]public Vector3 worldPosition { get; set; }public bool eligibleForClick { get; set; }public bool IsPointerMoving();public bool IsScrolling();public override string ToString();public enum InputButton{Left 0,Right 1,Middle 2}public enum FramePressState{Pressed 0,Released 1,PressedAndReleased 2,NotChanged 3}}其中scrollDelta属性与上面方法1/2的数据一样。所以我们可以这样实现方法以获取滚轮信息
//法三public void OnScroll(PointerEventData eventData){if (eventData.scrollDelta.y 0f){Debug.Log(向上滚动鼠标滚轮);}else if (eventData.scrollDelta.y 0f){Debug.Log(向下滚动鼠标滚轮);}}使用法三需要注意的是只有我们把控制脚本放在相应的UGUI物体上才有效或者放在Canvas下对所有UGUI有效。
但使用该方法的好处是我们可以通过UGUI实现在指定获取滚轮信息。