多语言展示
当前在线:1386今日阅读:2今日分享:38

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

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

Unity

方法/步骤
1

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

2

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

3

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

4

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

5

脚本代码如下:using UnityEngine;public class LongPress : MonoBehaviour {    //设置变量记录触摸时间与bool触摸    private float touchTime;    private bool newTouch = false;    // Use this for initialization    void Start () {           }        // Update is called once per frame    void Update () {                //判断是否单击,单击则进入if分支        if (Input.GetMouseButton (0)){            //设置一条射线            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);            //设置接收射线的返回值            RaycastHit hitInfo;            //如果射线碰到物体,返回为真,进入if分支            if (Physics.Raycast (ray, out hitInfo)) {                //当一根手指触摸,则进入if分支                if (Input.touchCount == 1 ) {                    //记录触摸                    Touch touch = Input.GetTouch (0);                    //如果触摸刚开始,则进入if分支                    if (touch.phase == TouchPhase.Began) {                        //设置bool触摸为真,且记录时间                        newTouch = true;                        touchTime = Time.time;                        //如果触摸静止,则进入该分支                    }else if (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”,把脚本挂载上去,具体如下图

7

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

8

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

注意事项

您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言

推荐信息