养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Unity 实用教程 之 快速实现长按触摸功能

时间:2024-10-04 03:22:48

Unity实用教程之快速实现长按触摸功能。本节介绍,在Unity开发中水貔藻疽,实现移动端触摸屏幕长按的功能,具体如下

工具/原料

Unity

方法/步骤

1、打开Unity,新建一个空工程,具体如下图

Unity 实用教程 之 快速实现长按触摸功能

2、在场景中添加一个“Cube”,并且合理布局,便于视野观察,具体如下图

Unity 实用教程 之 快速实现长按触摸功能

3、在工程中新建一个脚本“LongPress”,双击脚本或者右键“OpenC#Project”打开脚本,具体如下图

Unity 实用教程 之 快速实现长按触摸功能

4、编写脚本,内容大致:首先设置变量,当触摸屏幕,发射射线,射到物体,进行长按计时水貔藻疽,1秒后隐藏射到物体,具体代码和代码说明如下图

Unity 实用教程 之 快速实现长按触摸功能

Unity 实用教程 之 快速实现长按触摸功能

5、脚本代码如下:usingUnityEngine;pub盟敢势袂licclassLongPress:MonoBehaviour{//滤鲇魍童设置变量记录触摸时间与bool触摸privatefloattouchTime;privateboolnewTouch=false;//UsethisforinitializationvoidStart(){}//UpdateiscalledonceperframevoidUpdate(){//判断是否单击,单击则进入if分支if(Input.GetMouseButton(0)){//设置一条射线Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);//设置接收射线的返回值RaycastHithitInfo;//如果射线碰到物体,返回为真,进入if分支if(Physics.Raycast(ray,outhitInfo)){//当一根手指触摸,则进入if分支if(Input.touchCount==1){//记录触摸Touchtouch=Input.GetTouch(0);//如果触摸刚开始,则进入if分支if(touch.phase==TouchPhase.Began){//设置bool触摸为真,且记录时间newTouch=true;touchTime=Time.time;//如果触摸静止,则进入该分支}elseif(touch.phase==TouchPhase.Stationary){//当bool触摸为真,且触摸时间大于等于1秒if(newTouch==true&&(Time.time-touchTime)>=1.0f){//设置bool触摸为假,并且隐藏物体hitInfo.collider.gameObject.SetActive(false);newTouch=false;}//其他的情况,进入该分支}else{//设置bool触摸为假newTouch=false;}}}}}}

6、脚本编译正确后,回到Unity界面,在场景中新建“GameObject”,把脚本挂载上去,具体如下图

Unity 实用教程 之 快速实现长按触摸功能

7、可以导出应用打包到移动端测试,当在物体上长按一段时间,物体消失,具体如下图

Unity 实用教程 之 快速实现长按触摸功能

Unity 实用教程 之 快速实现长按触摸功能

8、到此,《Unity实用教程之快速实现长按触摸功能》讲解结束,谢谢

© 一点知识