Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用
Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用
1. 什么是StandaloneInputModule组件?
StandaloneInputModule是Unity UGUI系统中的一个标准输入模块组件,用于处理鼠标和键盘的输入事件。它可以将鼠标和键盘的输入转化为UGUI系统中的事件,例如点击、拖拽等。
2. StandaloneInputModule组件的工作原理
StandaloneInputModule组件通过监听鼠标和键盘的输入事件,并将其转化为UGUI系统中的事件。它会根据鼠标的位置和键盘的按键来确定当前的操作对象,并触发相应的事件。
3. StandaloneInputModule组件的常用属性
forceModuleActive:是否强制激活该输入模块。inputActionsPerSecond:每秒处理的输入事件数量。repeatDelay:重复触发事件的延迟时间。horizontalAxis:水平轴的名称。verticalAxis:垂直轴的名称。submitButton:提交按钮的名称。cancelButton:取消按钮的名称。
4. StandaloneInputModule组件的常用函数
Process: 处理输入事件的函数,用于将鼠标和键盘的输入转化为UGUI系统中的事件。
5. 完整例子代码
例子1:点击按钮触发事件
using UnityEngine;
using UnityEngine.UI;public class ButtonExample : MonoBehaviour
{public Button button;private void Start(){button.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("Button Clicked!");}
}
操作步骤:
- 创建一个空物体,并将ButtonExample脚本挂载到该物体上。
- 在场景中创建一个按钮,并将该按钮拖拽到ButtonExample脚本的button属性上。
- 运行游戏,点击按钮,控制台会输出"Button Clicked!"。
注意事项:
- 需要在场景中创建一个按钮,并将其与代码中的button属性关联起来。
例子2:拖拽物体
using UnityEngine;
using UnityEngine.EventSystems;public class DragExample : MonoBehaviour, IDragHandler
{public void OnDrag(PointerEventData eventData){transform.position = eventData.position;}
}
操作步骤:
- 创建一个空物体,并将DragExample脚本挂载到该物体上。
- 运行游戏,在场景中点击并拖拽该物体,物体会跟随鼠标移动。
注意事项:
- 需要将DragExample脚本挂载到需要拖拽的物体上。
- 需要在场景中添加EventSystem组件。
例子3:键盘控制物体移动
using UnityEngine;public class KeyboardExample : MonoBehaviour
{public float speed = 5f;private void Update(){float horizontal = Input.GetAxis("Horizontal");float vertical = Input.GetAxis("Vertical");transform.Translate(new Vector3(horizontal, vertical, 0) * speed * Time.deltaTime);}
}
操作步骤:
- 创建一个空物体,并将KeyboardExample脚本挂载到该物体上。
- 运行游戏,使用键盘的方向键控制物体的移动。
注意事项:
- 需要将KeyboardExample脚本挂载到需要控制的物体上。
例子4:按下按钮触发事件
using UnityEngine;
using UnityEngine.UI;public class SubmitButtonExample : MonoBehaviour
{public Button submitButton;private void Start(){submitButton.onClick.AddListener(OnSubmit);}private void OnSubmit(){Debug.Log("Submit Button Clicked!");}
}
操作步骤:
- 创建一个空物体,并将SubmitButtonExample脚本挂载到该物体上。
- 在场景中创建一个按钮,并将该按钮拖拽到SubmitButtonExample脚本的submitButton属性上。
- 运行游戏,点击按钮,控制台会输出"Submit Button Clicked!"。
注意事项:
- 需要在场景中创建一个按钮,并将其与代码中的submitButton属性关联起来。
例子5:取消操作
using UnityEngine;
using UnityEngine.UI;public class CancelButtonExample : MonoBehaviour
{public Button cancelButton;private void Start(){cancelButton.onClick.AddListener(OnCancel);}private void OnCancel(){Debug.Log("Cancel Button Clicked!");}
}
操作步骤:
- 创建一个空物体,并将CancelButtonExample脚本挂载到该物体上。
- 在场景中创建一个按钮,并将该按钮拖拽到CancelButtonExample脚本的cancelButton属性上。
- 运行游戏,点击按钮,控制台会输出"Cancel Button Clicked!"。
注意事项:
- 需要在场景中创建一个按钮,并将其与代码中的cancelButton属性关联起来。
6. 参考资料
- Unity官方文档:StandaloneInputModule
相关文章:
Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用
Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用 1. 什么是StandaloneInputModule组件? StandaloneInputModule是Unity UGUI系统中的一个标准输入模块组件,用于处理鼠标和键盘的输入事件。它可以将鼠标和键盘的输入转化为UGUI系统中…...
惠普HP Color Laser 150a开机红色感叹号闪烁不打印故障解决方法
故障描述: 惠普HP Color Laser 150a开机红色感叹号闪烁,不能打印,电脑提示C3-6140。 检测分析: 在解决C3-6140错误代码之前,我们需要先检查打印机是否连接正常。如果打印机连接不正常,也可能会出现这个错误…...
CVE-2023-1454注入分析复现
简介 JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具,它可以通过一键生成前后端代码,无需写任何代码,让开发者更多关注业务逻辑。 影响版本 Jeecg-Boot<3.5.1 环境搭建 idea 后端源码: https://git…...
MFC使用png做背景图片
在MFC中使用png图片作为背景,你需要使用GDI库。以下是一个简单的示例: 首先,你需要在你的项目中包含GDI头文件和库。在你的stdafx.h(或者你的项目预编译头文件)中添加以下代码: #include <GdiPlus.h&g…...
Java开发的基石:JDK
Java开发的基石:JDK 前言一、引入二、JDK的发展历程三、JDK主要目录结构解析四、JDK的使用 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快&…...
使用langchain与你自己的数据对话(三):检索(Retrieval)
之前我已经完成了使用langchain与你自己的数据对话的前两篇博客,还没有阅读这两篇博客的朋友可以先阅读一下: 使用langchain与你自己的数据对话(一):文档加载与切割使用langchain与你自己的数据对话(二):向量存储与嵌入 今天我们…...
DEVICENET转ETHERNET/IP网关devicenet协议
捷米JM-EIP-DNT,你听说过吗?这是一款自主研发的ETHERNET/IP从站功能的通讯网关,它能够连接DEVICENET总线和ETHERNET/IP网络,从而解决生产管理系统中协议不同造成的数据交换互通问题。 这款产品在工业自动化领域可谓是一大利器&…...
GPT一键化身「AI助理」——自定义指令功能
最近GPT又更新了一个超实用的功能——自定义指令,启用后,你可以给GPT设置一些固定指令,让它记住或扮演某个角色,比如客服、律师、投资管理师、老师、营养师...... 这样,我们就不再需要每次都要打开新的聊天,…...
深入理解Promise
原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 什么是Promise 当谈论 Promise 时,可以将其比喻为一种承诺或契约,用于处理异步操作的结果。异步操作是指那些不会立即完成的操作,比如从服务器获取数据、读取文件、发送网络请求等等。通常情况下,这些操作需…...
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
2023 年第二届钉钉杯大学生大数据挑战赛 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析 相关链接 【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题一Python代码分析 【2023 年…...
redis-cluster 创建及监控
集群命令 cluster info:打印集群的信息。 cluster nodes:列出集群当前已知的所有节点(node)的相关信息。 cluster meet <ip> <port>:将ip和port所指定的节点添加到集群当中。 cluster addslots <slot…...
vue+ivew model框 select校验遇到的问题
iview model 点击关闭,校验没有通过也会关闭 解决办法: 第一步:自定义页脚内容 <div slot"footer"><Button type"primary" click"confirmCarryOver()">确认</Button><Button click&qu…...
mybatis_分页
目的: 减少数据处理量,提高效率 普通sql: 语法:select * from user limit startIndex,pageSize; SELECT * from user limit 3; #[0,n] mybatis_sql: 接口: //分页查询List<User> getUserByLimit(Map<…...
轻量级Firefox Send替代方案Gokapi
想不到一个域名的变动会影响这么大,访问量出现断崖式下跌。由此可见,平时的访问应该只是一些 RSS 的访问而已。 上面是 Pageviews,下面是 Uniques 今天略有回升 难怪那些大公司要花钱买域名了,不过老苏是个佛系的人,一…...
多次发请求优化为发一次请求
优化 getUserInfo 请求 要求 getUserInfo 是个通用接口,在各个模块里面都有可能使用 requestUserInfo 模拟的是请求服务端真正获取用户信息的方法 业务背景 在一个页面有 A, B, C 等多个功能模块,A, B, C 模块渲染执行顺序不可控每个模块都会调用 get…...
彻底搞懂CPU的特权等级
x86 处理器中,提供了4个特权级别:0,1,2,3。数字越小,特权级别越高! 一般来说,操作系统是的重要性、可靠性是最高的,需要运行在 0 特权级; 应用程序工作在最上层,来源广泛、可靠性最低,工作在 3 特权级别。 中间的1 和 2 两个特权级别,一般很少使用。 理论上来讲,…...
JVM对象在堆内存中是否如何分配?
1:指针碰撞:内存规整的情况下 2:空闲列表: 内存不规整的情况下 选择那种分配方式 是有 java堆是否规整而决定的。而java堆是否规整是否对应的垃圾回收器是否带有空间压缩整理的能力决定的。 因此当使用Serial,ParNew等带有压缩整理过程的收…...
【小白慎入】还在手动撸浏览器?教你一招分分钟自动化操作浏览器(Python进阶)
大家好啊,辣条哥又来猛货了! 小白慎入! 目录 环境安装1 测试样例2 基本配置2.0 基本参数2.1 设置窗口2.2 添加头部2.3 网页截图2.4 伪装浏览器 绕过检测2.5案例演示 触发JS2.6 boss直聘cookie反爬绕过实践2. 7滚动到页面底部 3 进阶使用4 数…...
Unity UGUI的TouchInputModule (触摸输入模块)组件的介绍及使用
Unity UGUI的TouchInputModule (触摸输入模块)组件的介绍及使用 1. 什么是TouchInputModule组件? TouchInputModule是Unity中的一个UGUI组件,用于处理触摸输入事件。它可以让你的游戏在移动设备上实现触摸操作,如点击、滑动、缩放等。 2. …...
SpringMVC启动时非常缓慢,显示一直在部署中,网页也无法访问,,,Artifact is being deployed, please wait...
写了一个基本的SpringMVC程序进行测试,结果启动时一直显示在等待部署完毕,,, but这个地方一直显示转圈圈。。 后来通过url访问时网页一直转圈圈。。也就是等待响应。。 看了一会儿,也不知道哪儿错了,&…...
OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块
OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块 1. 为什么需要数学解题模块 去年辅导侄女做几何证明题时,我发现市面上大多数AI工具要么只能给出最终答案,要么解题步骤过于简略。作为一个喜欢折腾技术的程序员,我决…...
前端 跨域解决方案
一、什么是跨域? 协议、域名、端口 三者有任意一个不一样,就是跨域。 浏览器出于安全考虑,会限制跨域请求,这就是同源策略(Same-Origin Policy)。 举例: https://www.baidu.com协议:…...
如何绕过App Store限制:iOS第三方应用安装的终极指南
如何绕过App Store限制:iOS第三方应用安装的终极指南 【免费下载链接】AltStore AltStore is an alternative app store for non-jailbroken iOS devices. 项目地址: https://gitcode.com/gh_mirrors/al/AltStore 还在为苹果App Store的严格限制而烦恼吗&…...
AMD SMT补丁实战指南:突破《赛博朋克2077》CPU性能瓶颈
AMD SMT补丁实战指南:突破《赛博朋克2077》CPU性能瓶颈 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks 《赛博朋克2077》自发布以来,…...
告别纯理论:用OAI 5G开源平台+USRP B210硬件,实测端到端5G SA数据业务
从零构建5G SA实验环境:OAI开源平台与USRP B210实战指南 当5G技术从实验室走向商业化应用时,许多开发者面临一个尴尬的现实:理论知识与实际操作之间存在巨大鸿沟。本文将带你跨越这道鸿沟,使用OAI开源平台和USRP B210软件定义无线…...
别再让用户长按了!用html2canvas在微信H5里优雅生成分享海报(Vue3/TS实战)
微信H5海报生成实战:用html2canvas打造零摩擦分享体验 每次看到用户笨拙地长按屏幕、小心翼翼地调整手指位置就为了保存一张活动海报,作为开发者的你是否感到一丝愧疚?在移动端体验至上的今天,这种原始操作显然与"优雅"…...
大学生专属福利:手把手教你用阿里云ECS免费搭建个人Linux服务器(附7个月白嫖攻略)
大学生零成本玩转云服务器:阿里云ECS实战指南 第一次接触云服务器时,我盯着控制台密密麻麻的选项发懵——地域、实例规格、安全组…这些术语对计算机系大二的我来说,就像天书。直到用学生身份白嫖了阿里云ECS,才真正理解了云计算的…...
深入解析 Promise 核心原理,从零手写实现到实战应用
1. Promise 基础概念与使用场景 1.1 什么是 Promise? 想象你点了一份外卖,商家给你一个取餐号而不是立即给你食物。这个取餐号就是 Promise,它代表一个未来才会完成的操作(外卖送达)。在 JavaScript 中,Pro…...
10分钟重塑Windows体验:Win11Debloat系统优化完全指南
10分钟重塑Windows体验:Win11Debloat系统优化完全指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改…...
低成本搭建DNF外网服务器:腾讯云轻量应用服务器实战教程
腾讯云轻量应用服务器搭建DNF外网版全攻略 最近几年,怀旧游戏私服搭建在技术爱好者圈子里越来越流行。作为一款经典的横版格斗网游,DNF(地下城与勇士)的私服搭建需求尤其旺盛。本文将详细介绍如何利用腾讯云轻量应用服务器&#x…...
