Unity 获取鼠标滚轮信息的一些方法

2024-03-23 00:28

本文主要是介绍Unity 获取鼠标滚轮信息的一些方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 List<GameObject> 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实现在指定获取滚轮信息。

这篇关于Unity 获取鼠标滚轮信息的一些方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836576

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j