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 服务器配置、运行、建站一条龙 !




" role="presentation" style="position: relative;">

Chinar


END

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


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


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

EasyTouch基本用法的更多相关文章

  1. EasyTouch中多种QuickGesture手势检测

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

  2. Unity插件研究-EasyTouch V5

    抽空研究了下Easy Touch 5插件,发现确实很好用,下面是相应的用法: 1. Easy Touch Controls:实现虚拟摇杆的组件 在项目的"Hierarchy"窗口下 ...

  3. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  4. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  5. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  6. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  7. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  8. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  9. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

随机推荐

  1. 《F4+2》β冲刺第二天

    β冲刺第二天 1.每个成员今日完成的任务: 马仲山:系统代码和开发总结文档的完善 马婧(12):完善需求文档 马婧(13):完善设计文档 马世芳:对部分功能实现进行测试 张俊逸:针对测试出现的问题完善 ...

  2. jq 命名空间

    $('ul').on("click",function(){console.log('all');});$('ul').on("click.a",functio ...

  3. 慕课网Hibernate初探之一对多映射实验及总结

    慕课网Hibernate初探之一对多映射实验及总结 一.本课核心 * 1.如何在MyEclipse中使用Hibernate * 2.如何实现Hibernate中一对多的映射 * 3.如何创建Sessi ...

  4. windows 网络共享传送文件超慢

    这可是无线局域网,竟然只有 200K/s. 调查经过: 1) 问题是单向的, B->A 没有问题, A->B就出事 2) 只发生在 Windows网络共享, A上装了apache测试, A ...

  5. zzuli 1484 继续双线

    1484: 探 寻 宝 藏 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 94  Solved: 52 SubmitStatusWeb Board De ...

  6. 4.1 delegate

    delegate  ---packed up function public delegate double myDelegate (double x); my delegate d2 = new m ...

  7. Oracle12c中性能优化&amp;功能增强新特性之重大突破——内存列存储新特性

    内存列存储(IM column store) 是Oracle12.1.0.2版本的主要特点.该特点允许列,表,分区和物化视图在内存中以列格式存储,而不是通常的行格式.数据存在内存中的好处显而易见,而列 ...

  8. spring boot 学习(八)定时任务 @Scheduled

    SpringBoot 定时任务 @Scheduled 前言 有时候,我们有这样的需求,需要在每天的某个固定时间或者每隔一段时间让应用去执行某一个任务.一般情况下,可以使用多线程来实现这个功能:在 Sp ...

  9. SQL Server如何清除曾经登录过的登录名

    我用的是SQL Server2008数据库,在数据库登录界面,有时我们用户已经在安全性已经删除了,但是登录名痕迹还是存在, 那如何删除掉这些用户登录过的登录记录呢? 我本机是要删除这个登录名为s的记录

  10. 封装ajax函数

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...