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
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址