当前位置: 首页 > news >正文

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!");}
}

操作步骤:

  1. 创建一个空物体,并将ButtonExample脚本挂载到该物体上。
  2. 在场景中创建一个按钮,并将该按钮拖拽到ButtonExample脚本的button属性上。
  3. 运行游戏,点击按钮,控制台会输出"Button Clicked!"。

注意事项:

  • 需要在场景中创建一个按钮,并将其与代码中的button属性关联起来。

例子2:拖拽物体

using UnityEngine;
using UnityEngine.EventSystems;public class DragExample : MonoBehaviour, IDragHandler
{public void OnDrag(PointerEventData eventData){transform.position = eventData.position;}
}

操作步骤:

  1. 创建一个空物体,并将DragExample脚本挂载到该物体上。
  2. 运行游戏,在场景中点击并拖拽该物体,物体会跟随鼠标移动。

注意事项:

  • 需要将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);}
}

操作步骤:

  1. 创建一个空物体,并将KeyboardExample脚本挂载到该物体上。
  2. 运行游戏,使用键盘的方向键控制物体的移动。

注意事项:

  • 需要将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!");}
}

操作步骤:

  1. 创建一个空物体,并将SubmitButtonExample脚本挂载到该物体上。
  2. 在场景中创建一个按钮,并将该按钮拖拽到SubmitButtonExample脚本的submitButton属性上。
  3. 运行游戏,点击按钮,控制台会输出"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!");}
}

操作步骤:

  1. 创建一个空物体,并将CancelButtonExample脚本挂载到该物体上。
  2. 在场景中创建一个按钮,并将该按钮拖拽到CancelButtonExample脚本的cancelButton属性上。
  3. 运行游戏,点击按钮,控制台会输出"Cancel Button Clicked!"。

注意事项:

  • 需要在场景中创建一个按钮,并将其与代码中的cancelButton属性关联起来。

6. 参考资料

  • Unity官方文档:StandaloneInputModule
http://www.lryc.cn/news/97821.html

相关文章:

  • 惠普HP Color Laser 150a开机红色感叹号闪烁不打印故障解决方法
  • CVE-2023-1454注入分析复现
  • MFC使用png做背景图片
  • Java开发的基石:JDK
  • 使用langchain与你自己的数据对话(三):检索(Retrieval)
  • DEVICENET转ETHERNET/IP网关devicenet协议
  • GPT一键化身「AI助理」——自定义指令功能
  • 深入理解Promise
  • 【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
  • redis-cluster 创建及监控
  • vue+ivew model框 select校验遇到的问题
  • mybatis_分页
  • 轻量级Firefox Send替代方案Gokapi
  • 多次发请求优化为发一次请求
  • 彻底搞懂CPU的特权等级
  • JVM对象在堆内存中是否如何分配?
  • 【小白慎入】还在手动撸浏览器?教你一招分分钟自动化操作浏览器(Python进阶)
  • Unity UGUI的TouchInputModule (触摸输入模块)组件的介绍及使用
  • SpringMVC启动时非常缓慢,显示一直在部署中,网页也无法访问,,,Artifact is being deployed, please wait...
  • Docker 镜像操作
  • linux下有关mysql安装和登录的一些问题记录
  • DS18B20的原理及实例代码(51单片机、STM32单片机)
  • 两种单例模式
  • List中交集的使用
  • TypeScript基础篇 - TS的函数
  • Vue项目如何生成树形目录结构
  • postgresql四种逻辑复制的状态
  • 梯度下降法和牛顿法
  • elment-ui的侧边栏 开关及窗口联动
  • 【从零开始学习JAVA | 第三十二篇】 异常(下)新手必学!