Unity- EasyTouch快速入门(一)

版权声明:原创图片,自截图片,纯手打文字,经过允许才可转载!业余个人经验分享,有不足的地方请留言,或点【投票】以资鼓励;觉得帮了小忙,请点个赞;还可以点击分享;怕下次出问题之后忘记找不到,可点击收藏。谢谢合作。 https://blog.csdn.net/qq_40985921/article/details/88734354

EasyTouch百度云https://pan.baidu.com/s/1NylVfZC1bbdwDvTm6CCFpA
提取码 7z6u
下载EasyTouch导入插件[仅供学习如需商用请去官网购买]

四代EasyTouch特性 使用的是事件的注册与监听(不会的可以用五代,下面)

在场景一(EasyTouch_4)中新建Easytouch(EasyTouch四代必须要有EasyTouch物体,五代可以不需要,但一般我们都会创建EasyTouch),再新建一个GameObject名为EasyTouchManager,新建脚本EasyTouchManager4_Demo.cs,脚本托给EasyTouchManager

在这里插入图片描述
EasyTouchManager4_Demo.cs,采用的是事件的监听和注册.下面仅使用部分手势,还有其他手势代码需要自己去探索.记得引用using HedgehogTeam.EasyTouch;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HedgehogTeam.EasyTouch;
/// <summary>
/// 四代EasyTouch特性 使用的是事件的注册与监听
/// </summary>
public class EasyTouchManager4_Demo : MonoBehaviour
{
    //事件的注册与监听
    //按照下面格式,防止出错
    //订阅事件
    private void OnEnable()
    {
        EasyTouch.On_TouchStart += OnTouchStart;//注册按下事件
        EasyTouch.On_TouchUp += OnTouchEnd;//注册抬起事件
        EasyTouch.On_Swipe += OnSwipe;//注册滑动事件
    }
    //取消订阅
    private void OnDisable()
    {
        EasyTouch.On_TouchStart -= OnTouchStart;
        EasyTouch.On_TouchUp -= OnTouchEnd;
        EasyTouch.On_Swipe -= OnSwipe;
    }
    //销毁事件
    private void OnDestroy()
    {
        EasyTouch.On_TouchStart -= OnTouchStart;
        EasyTouch.On_TouchUp -= OnTouchEnd;
        EasyTouch.On_Swipe -= OnSwipe;

    }

    //以下是自己写的方法 要有Gesture 参数
    //gesture 指带 -> 手势
    void OnTouchStart(Gesture gesture)
    {
        print("OnTouchStart");
        print("StartPosition" + gesture.startPosition);//触摸位置
    }
    void OnTouchEnd(Gesture gesture)
    {
        print("OnTouchEnd");
        print("OnTouchEnd"+gesture.actionTime);//触摸时间
    }

    void OnSwipe(Gesture gesture)
    {
        print("OnSwipe");
        print("Type"+gesture.type);//触摸类型
    }

}

电脑上运行,滑动屏幕,看结果

在这里插入图片描述

五代EasyTouch特性 使用的是 单例 来 监听事件

五代相对好理解一些,新手都敲过这样的代码,五代EasyTouch,也可以用类似的方法

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))//当按下空格键时触发事件
    {
        //function
    }
}

在场景二(EasyTouch_5)中新建Easytouch,再新建一个GameObject名为EasyTouchManager,新建脚本EasyTouchManager5_Demo.cs,脚本托给EasyTouchManager,和上面步骤类似.记得引用using HedgehogTeam.EasyTouch;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HedgehogTeam.EasyTouch;
/// <summary>
/// 五代EasyTouch特性 使用的是 单例 来 监听事件
/// </summary>
public class EasyTouchManager5_Demo : MonoBehaviour
{
    void Update()
    {
        Gesture currentGesture = EasyTouch.current;//获取当前手势
        //注意 当手机屏幕上没有任何操作的时候currentGesture是null的,要添加一个判断,防止空指针异常
        if (currentGesture == null) return;
        //以下是事件监听
        if (EasyTouch.EvtType.On_TouchStart == currentGesture.type)//按下
        {
            //OnTouchStart(currentGesture);

            //可以把方法写在里面
            print("OnTouchStart");
            print("StartPosition" + currentGesture.startPosition);//触摸位置
        }

        if (EasyTouch.EvtType.On_TouchUp == currentGesture.type)//抬起
        {
            OnTouchEnd(currentGesture);
        }

        if (EasyTouch.EvtType.On_Swipe == currentGesture.type)//滑动
        {
            OnSwipe(currentGesture);
        }
    }

    void OnTouchStart(Gesture gesture)
    {
        print("OnTouchStart");
        print("StartPosition" + gesture.startPosition);//触摸位置
    }
    void OnTouchEnd(Gesture gesture)
    {
        print("OnTouchEnd");
        print("OnTouchEnd" + gesture.actionTime);//触摸时间
    }

    void OnSwipe(Gesture gesture)
    {
        print("OnSwipe");
        print("Type" + gesture.type);//触摸类型
    }
}

电脑上运行,滑动屏幕,看结果,
在这里插入图片描述
跟多的手势操作可以看SDK中的Demo来学习,很好理解.

猜你喜欢

转载自blog.csdn.net/qq_40985921/article/details/88734354