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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习的概念、步骤、分类和实践

作为资深人工智能专家&#xff0c;对机器学习有着深入的研究和实践经验。以下是对机器学习概念、步骤、分类和实践的逐步分析&#xff1a; 一、机器学习概念 机器学习是人工智能的一个子集&#xff0c;它让计算机从数据中学习并改进其性能&#xff0c;而无需进行明确的编程。…

使用专属浏览器在国内直连GPT教程

Wildcard官方推特发文说他们最近推出了一款专门为访问OpenAI设计的浏览器。 根据官方消息&#xff0c;这是一款专门为访问OpenAI优选网络设计的浏览器&#xff0c;它通过为用户提供专用的家庭网络出口&#xff0c;确保了快速、稳定的连接。 用这个浏览器的最大好处就是直接用浏…

【测试开发学习历程】MySQL增删改操作 + 备份与还原 + 索引、视图、存储过程

前言&#xff1a; SQL内容的连载&#xff0c;到这里就是最后一期啦&#xff01; 如果有小伙伴要其他内容的话&#xff0c;我会追加内容的。&#xff08;前提是我有学过&#xff0c;或者能学会&#xff09; 接下来&#xff0c;我们就要开始python内容的学习了 ~ ~ 目录 1 …

Github 2024-03-22 开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-22统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3C#项目1Java项目1Rust项目1Go项目1Shell项目1非开发语言项目1TypeScript项目1Colossal-AI:使大型人工智能模型更加实惠和快速训练的…

吴恩达机器学习笔记 二十六 决策树学习过程 独热编码one-hot

决策树的学习过程 1. 所有样本都在根结点 2.计算所有可能的特征的信息增益&#xff0c;选择信息增益最大的那个 3.根据选择的特征分离数据集&#xff0c;创造左右两支子树 4.继续进行分裂直到达到停止标准。停止标准有&#xff1a;一个节点只有一类样本&#xff1b;分裂一…

[ABC206E] Divide Both 解题记录

[ABC206E] Divide Both 解题记录 题意简述 给定整数 L , R L,R L,R&#xff0c;求满足以下条件的数对 ( x , y ) (x,y) (x,y) 的数量。 x , y x,y x,y 不互质 x ∤ y x \nmid y x∤y 且 y ∤ x y \nmid x y∤x 题目分析 正难则反&#xff0c;考虑用所有的满足第一条性质的…

javascript中Date相关方法

Date 对象用于处理日期和时间 序号方法描述1new Date()获取当前时间2parse()返回毫秒数&#xff08;从 1970-1-1 00:00:00开始&#xff09;3getDate()返回月中的第几天&#xff08;从 1 到 31&#xff09;4getFullYear()返回年份5getMonth()返回月份&#xff08;从 0-11&#x…

1Panel应用推荐:DataEase开源数据可视化分析工具

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…

Django在日志中使用AdminEmailHandler发送邮件(同步),及celery异步发送日志邮件的实现

目录 一、使用AdminEmailHandler实现发送日志通知邮件 1&#xff0c;配置日志项 2&#xff0c;配置邮件项 3&#xff0c;在视图里使用日志 二、继承AdminEmailHandler使用celery实现异步发送邮件 1&#xff0c;安装配置celery 2&#xff0c;继承AdminEmailHandler类&…

【excel】常用的50个函数与基础操作(查询函数)

查询函数 &#xff08;1&#xff09;VLOOKUP与MATCH综合 1. VLOOKUP 按列纵向查找&#xff0c;输出单元格内容 VLOOKUP&#xff08;用谁找&#xff0c;在哪找&#xff0c;在哪列&#xff0c;精确/模糊&#xff09; 条件用&连接 VLOOKUP&#xff08;用谁找&#xff0c;在…

网络安全知识核心之TCP与UDP区别

TCP 面向连接&#xff08;如打电话要先拨号建立连接&#xff09;提供可靠的服务;UDP 是无连接的&#xff0c;即发送数据之前不需要建立连接&#xff0c;;UDP 尽最大努力交付&#xff0c;即不保证可靠交付。&#xff08;由于 UDP 无需建立连接&#xff0c;因此 UDP 不会引入建立…

HTML元素语义化(二)及补充

文章目录 HTML5新增元素 - audio**常见属性**代码展示 audio支持的音频格式input元素的扩展内容新增全局属性data–css属性 –white–spacecss属性–text–overflow HTML5新增元素 - audio HTML 元素用于在文档中嵌入音频内容, 和video的用法非常类似 常见属性 常见属性 值…

ts js vue 验证文件 MD5 值 spark-md5

ts js vue 验证文件 MD5 值 spark-md5 如何在前端中验证要上传的文件的 md5 值 一、安装 spark-md5 插件 需要用到 spark-md5 这个插件 官方 github&#xff1a;https://github.com/satazor/js-spark-md5/tree/master yarn add spark-md5 // 或 npm i spark-md5使用的时候引…

基于python+vue文学名著分享系统的设计与实现flask-django-nodejs-php

随着世界经济信息化、全球化的到来和互联网的飞速发展&#xff0c;推动了各行业的改革。若想达到安全&#xff0c;快捷的目的&#xff0c;就需要拥有信息化的组织和管理模式&#xff0c;建立一套合理、动态的、交互友好的、高效的文学名著分享系统。当前的信息管理存在工作效率…

编程题:二叉树层次遍历(Java)

有一棵二叉树&#xff0c;每个节点由一个大写字母标识(最多26个节点&#xff09;。 现有两组字母&#xff0c;分别表示后序遍历&#xff08;左孩子->右孩子->父节点&#xff09;和中序遍历&#xff08;左孩子->父节点->右孩子&#xff09;的结果&#xff0c;请你输…

有没有适合pr剪辑视频使用的蓝色魔法火焰能量特效素材模板

12个蓝色魔法火焰能量特效VFX元素pr素材模板。 可定制的能量电荷、灰尘等离子体和发光的电火花是游戏电影、电影特效或有影响力的视频内容的理想选择&#xff0c;增添了史诗般的电影质量。无论是神秘的爆炸、闪闪发光的闪电还是旋转的漩涡&#xff0c;每一部动画都是力量的灯塔…

Git版本控制

这是两个学习Git推荐必看的文档&#xff0c;第一个链接是Git的官方权威文档&#xff0c;第二个链接是国内程序员在开发中&#xff0c;总结的Git快速入门教程&#xff0c;掌握这个&#xff0c;也足够应付在工作中的场景。 Git权威书籍《ProGit》中文版https://gitee.com/progit…

让天下没有难学的大模型!我整理一份大模型技术知识图谱!

最近陆续有一些同学反馈&#xff0c;感觉大模型知识点太多了&#xff0c;找不到头绪。 今天我整理一份大模型技术以及应用的知识图谱&#xff0c;让大家轻松学习大模型&#xff0c;喜欢点赞、收藏、关注。 另外&#xff0c;技术交流可以文末加入我们。 大模型的预训练技术 …

Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1.)

检查下根目录下的 build.gradle 配置 , 是否只配置了 jcenter 仓库 &#xff0c;加上 google()mavenCentral() 重新编译试一下

ArrayList的常用方法

ArrayList是Java中常用的动态数组类&#xff0c;它提供了一系列用于操作和管理数组的方法。下面是一些ArrayList常用方法的介绍&#xff1a; add()方法&#xff1a;向ArrayList中添加元素&#xff0c;可以指定位置添加元素或者在末尾添加元素。 ArrayList<String> list …