EasyTouch基本用法

简介: EasyTouch基本用法本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)...

EasyTouch基本用法


本文提供全流程,中文翻译。

Chinar坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)




1

hierarchy (层次面板)中创建 EasyTouch

这里写图片描述


2

using - 引用命名空间

HedgehogTeam 是他们团队名称。—— 刺猬

using HedgehogTeam.EasyTouch;

3

EasyTouch.4_x 版本的基本写法

运用事件+委托的方式

(相较于 EasyTouch.5_x 的写法。节省性能,不过要麻烦一些)

using UnityEngine;
using HedgehogTeam.EasyTouch;//引用命名空间



/// <summary>
/// EasyTouch 4 版本的基本写法
/// </summary>
public class Easy4 : MonoBehaviour
{


    /// <summary>
    /// 在OnEnable中注册EasyTouch事件
    /// </summary>
    private void OnEnable()
    {
        //添加委托
        EasyTouch.On_TouchStart += OnTouchStart;
        EasyTouch.On_TouchUp += OnTouchEnd;
        EasyTouch.On_Swipe += OnTouchSwipe;
    }



    /// <summary>
    /// 在OnDisable中取消注册事件
    /// </summary>
    private void OnDisable()
    {
        //删除委托
        EasyTouch.On_TouchStart -= OnTouchStart;
        EasyTouch.On_TouchUp -= OnTouchEnd;
        EasyTouch.On_Swipe -= OnTouchSwipe;
    }



    /// <summary>
    /// 在OnDestroy中删除注册事件
    /// </summary>
    private void OnDestroy()
    {
        //删除委托
        EasyTouch.On_TouchStart -= OnTouchStart;
        EasyTouch.On_TouchUp -= OnTouchEnd;
        EasyTouch.On_Swipe -= OnTouchSwipe;
    }



    /// <summary>
    /// 开始手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchStart(Gesture gesture)
    {
        print("OnTouchStart");
        print(gesture.startPosition + "开始坐标");
    }



    /// <summary>
    /// 结束手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchEnd(Gesture gesture)
    {
        print("OnTouchEnd");
        print(gesture.position + "结束坐标");
        print(gesture.actionTime + "结束持续了多久");
    }



    /// <summary>
    /// 拖动手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchSwipe(Gesture gesture)
    {
        print("OnTouchSwipe");
        print(gesture.position + "拖动坐标");
        print(gesture.actionTime + "拖动持续了多久");
        print(gesture.swipe + "类型");
    }
}

4

EasyTouch.5_x 版本的基本写法

通过系统自带函数 Update 內建方法体,来直接完成判定

(由于每帧都需要容错,稍微的消耗性能,不过要简单许多)

提示: EasyTouch.5_x 版本中 加强了易用性!

EasyTouch 被设为单例。就算 Hierarchy 中不创建 EasyTouch。在场景运行时,系统会自动完成创建。

using UnityEngine;
using HedgehogTeam.EasyTouch;//引用命名空间



/// <summary>
/// Easy5 版本的基本写法
/// </summary>
public class Easy5Write : MonoBehaviour
{


    /// <summary>
    /// 更新函数
    /// </summary>
    void Update()
    {
        //用 EasyTouch.current 记录玩家输入的手势 presentGesture
        Gesture presentGesture = EasyTouch.current;

        //容错 (当玩家没有手势输入的时候)
        if (presentGesture!=null)
        {
            //以下判断 玩家手势类型 是否和 EasyTouch系统手势类型相同
            if (EasyTouch.EvtType.On_TouchStart == presentGesture.type)
            {
                OnTouchStart(presentGesture);
            }
            else if (EasyTouch.EvtType.On_TouchUp == presentGesture.type)
            {
                OnTouchEnd(presentGesture);
            }
            else if (EasyTouch.EvtType.On_Swipe == presentGesture.type)
            {
                OnTouchSwipe(presentGesture);
            }
        }
    }



    /// <summary>
    /// 开始手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchStart(Gesture gesture)
    {
        print("OnTouchStart");
        print(gesture.startPosition + "开始坐标");
    }



    /// <summary>
    /// 结束手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchEnd(Gesture gesture)
    {
        print("OnTouchEnd");
        print(gesture.position + "结束坐标");
        print(gesture.actionTime + "结束持续了多久");
    }



    /// <summary>
    /// 拖动手势
    /// </summary>
    /// <param name="gesture"></param>
    void OnTouchSwipe(Gesture gesture)
    {
        print("OnTouchSwipe");
        print(gesture.position + "拖动坐标");
        print(gesture.actionTime + "拖动持续了多久");
        print(gesture.swipe + "类型");
    }
}

支持

May Be —— 搞开发,总有一天要做的事!


拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!


先点击领取 —— 阿里全产品优惠卷 (享受最低优惠)


1 —— 云服务器超全购买流程 (新手必备!)

2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

3—— Windows 服务器配置、运行、建站一条龙 !

4 —— Linux 服务器配置、运行、建站一条龙 !





Chinar


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

相关文章
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
279 0
|
JavaScript Java 测试技术
基于Java的点餐系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的点餐系统的设计与实现(源码+lw+部署文档+讲解等)
246 0
|
人工智能 关系型数据库 BI
算术逻辑单元ALU
算术逻辑单元ALU
3082 0
|
API
JDK8的stream有求和方法吗?
【8月更文挑战第20天】JDK8的stream有求和方法吗?
375 3
|
机器学习/深度学习 运维 算法
K-Means(K-均值)聚类算法理论和实战
K-Means(K-均值)聚类算法理论和实战
802 1
|
编译器 C++
简述构造函数、拷贝构造函数、深拷贝浅拷贝、析构函数
简述构造函数、拷贝构造函数、深拷贝浅拷贝、析构函数
|
存储 安全 搜索推荐
想要解析邮件?IMAP协议轻松助你,不再烦恼!
电子邮件仍是关键的通讯工具,利用编程语言自动化处理能显著提高效率。本文介绍使用Go语言从IMAP服务器读取、解析邮件及处理相关信息。首先概述POP3/IMAP/SMTP协议的作用,强调IMAP协议的优势及其在邮件客户端与服务器间双向同步的特点。接着,指导如何获取授权码以连接第三方服务。通过实战演示,展示使用`go-imap`库连接服务器、读取邮件详情(如主题、收件人等)、标记邮件为已读的过程。最后,对比`Store`与`UidStore`方法的区别,指出使用`UidStore`更安全可靠。本文提供了一段详细的Go语言示例代码,帮助读者快速上手。
359 4
|
缓存 Ubuntu 搜索推荐
Ubuntu执行apt-get install xxx报错怎么办?
如果以上步骤无法解决问题,你可以在搜索引擎或Linux社区中查找更详细的解决方案。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
621 0
|
Python
解决pip安装包后但是Pycharm检测不到
解决pip安装包后但是Pycharm检测不到
883 0
|
Web App开发 关系型数据库 Java