EasyTouch基本用法
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基本用法的更多相关文章
- EasyTouch中多种QuickGesture手势检测
EasyTouch中QuickGesture的用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Qu ...
- Unity插件研究-EasyTouch V5
抽空研究了下Easy Touch 5插件,发现确实很好用,下面是相应的用法: 1. Easy Touch Controls:实现虚拟摇杆的组件 在项目的"Hierarchy"窗口下 ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
随机推荐
- Qt5_Oracle
1.编译驱动: 1.1.源码路径:F:\ZC_software_installDir\Qt5.3.2_vs2010\5.3\Src\qtbase\src\plugins\sqldrivers\ 里面有 ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 问题解决方法
在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件,在p ...
- dubbo监控报错Error creating bean with name 'uriBrokerService'
在jdk1.8下面会出现此错误 解决方法: 1.更换服务器jdk版本.(会影响其他项目环境) 2.修改dubbo-admin tomcat默认jdk版本. 3.修改dubbo-admin项目依赖(de ...
- PHP函数总结 (四)
<?php/** * 引用参数: * 1.PHP默认按值传递参数,父程序(调用函数)与子程序(函数)的数值分别存储与不同的内存区块: * 2.引用传递参数,加符号 & :它是把父程序的数 ...
- layui的富文本编辑器怎么赋值
除了上面讲的方法外,还可以使用layedit自带的方法赋值/*** 设置编辑器内容* @param {[type]} index 编辑器索引* @param {[type]} content 要设置的 ...
- hdu 1258
Sum It Up Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- Oracle性能诊断艺术-相关脚本说明
第二章 bind_variables.sql 展示怎样绑定变量及何时绑定变量会导致游标共享 bind_variables_peeking.sql 展示绑定变量窥测的优缺点 selectivi ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- iOS UI-手势(Gesture)
#import "ViewController.h" @interface ViewController ()<UIActionSheetDelegate> @prop ...
- C++技能重拾
0.虽然静态成员函数不存在this指针,但还是不能在一个class里声明同名同参的虚函数和静态成员函数. 1.vftable里一个虚函数表是一个指针 2.delete本质,调用析构函数同时释放内存Ob ...