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

2025-11-15 05:49:47

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

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

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

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

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

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

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

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

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

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”,把脚本挂载上去,具体如下图

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

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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢