Unity 关于触摸事件的处理

news/2025/2/13 21:50:42/

在Unity 中,要处理触摸事件,主要有以下一些方法:

  1. Input.touches: 这个属性返回一个Touch数组,包含了当前帧中所有的触摸信息,包含触摸的数量、位置和状态等信息。

  2. Input.touchCount: 这个属性返回当前帧中触摸的数量。我们通常会用它来判断是否有触摸事件发生,当touchCount值大于0时,证明有触摸。

  3. Input.GetTouch(index): 这个方法返回指定索引的触摸信息。索引从0开始,最大值为Input.touchCount - 1。使用该方法,我们可获取单个触摸的位置和状态等信息。

  4. Touch.phase: Touch结构体中的phase属性表示触摸的状态。常见的状态有Began(触摸开始)、Moved(触摸移动)、Stationary(触摸静止)和Ended(触摸结束)等。

  5. Touch.position: Touch结构体中的position属性表示触摸的位置。它是一个屏幕坐标,可以使用Camera.ScreenToWorldPoint方法将其转换为世界坐标。

通常我们充分利用好上面方法,就可以处理很多关于触摸的事件了。

比如,我可以通过获取第一个触摸点并监控它开始触摸,移动和结束触摸的事件并做不同的事情:

void Update()
{if (Input.touchCount > 0){Touch touch = Input.GetTouch(0);if (touch.phase == TouchPhase.Began){// 触摸开始Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);Debug.Log("开始触摸,获取触摸点位置 " + touchPosition);}else if (touch.phase == TouchPhase.Moved){// 触摸移动Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);Debug.Log("持续获取触摸点位置" + touchPosition); //这里通常可把位置赋值给UI,那么UI就可以跟随指尖移动}else if (touch.phase == TouchPhase.Ended){// 触摸结束Debug.Log("触摸结束,可以做点触摸结束后需要做的事情。");}}
}


http://www.ppmy.cn/news/1255580.html

相关文章

OpenCvSharp从入门到实践-(06)创建图像

目录 1、创建图像 1.1实例1-创建黑色图像 1.2实例2-创建白色图像 1.3实例3-创建随机像素的雪花点图像 2、图像拼接 2.1水平拼接图像 2.2垂直拼接图像 2.3实例4-垂直和水平两种方式拼接两张图像 在OpenCV中,黑白图像其实就是一个二维数组,彩色图像…

解决vue3项目打包发布到服务器后访问页面显示空白问题

1.在 vite.config.ts 文件中 加入 base:./ 当你将 base 设置为 / 时,它表示你的应用程序将部署在服务器的根路径上,(将 base 设置为 / 表示你的应用程序部署在服务器的根路径上,并且 Vite 会相应地处理资源和路由的路径…

QT 中使用 QTableView 和 QStandardItemModel 实现将数据导出到Excel 和 从Excel导入到 QTableView 的功能

简介 在Qt中,使用QTableView和QStandardItemModel来实现将数据导出到Excel和从Excel导入到QTableView的功能,而不使用第三方库(如QXlsx)。 效果 将 QTableView 中的数据导出到Excel //从tableview 导出到 EXcle void MainInterfa…

基于英特尔平台及OpenVINO2023工具套件优化文生图任务

当今,文生图技术在很多领域都得到了广泛的应用。这种技术可以将文本直接转换为逼真的图像,具有很高的实用性和应用前景。然而,由于文生成图任务通常需要大量的计算资源和时间,如何在英特尔平台上高效地完成这些计算是一个重要的挑…

C++ Easyx 三子棋

目录 思路 框架​编辑 读取操作 数据操作 绘制画面 游戏的数据结构 用二维数组来模拟棋盘格 赢的情况 平局情况 Code 代码细节部分 (1)初始化棋盘格 (2) 初始化棋子类型​编辑 事件处理部分 落子 框架内代码的完善 数据处…

分页助手入门以及小bug,报sql语法错误

导入坐标 5版本以上的分页助手 可以不用手动指定数据库语言&#xff0c;它会自动识别 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.2</version> </dependency&g…

【2023.11.29练习】希尔排序的实现

题目描述&#xff1a; 本题要求实现一趟希尔排序函数&#xff0c;待排序列的长度1<n<1000。 函数接口定义&#xff1a; void ShellInsert(SqList L,int dk); 其中L是待排序表&#xff0c;使排序后的数据从小到大排列。 ###类型定义&#xff1a; typedef int KeyTy…

MySQL进阶部分

存储引擎 MySQL体系结构图&#xff1a; 连接层&#xff1a; 最上层是一些客户端连接服务&#xff0c;主要完成一些类似于连接处理 &#xff0c;授权认证及相关的安全方案。服务器也会为安全接入的每个用户端验证它所具有的操作权限。 服务层&#xff1a; 第二层架构主要完成大…