昨天有人问我,easytouch插件中有个小bug,其实也不算是bug,插件的设计者早就考虑到这样的情况。

他说同时用easyjoystick和easytouch会发生,移动摇杆的时候,touch(触摸)也会触发,也就是说两者同时产生事件。

那么,该如何处理呢。设计者早就知道会发生如此情况,所以他运用ReservedArea(保留区)。

什么意思,也就是joystick是个摇杆,那么他肯定存在触发事情的区域。

那么这个触发事件的区域,他都会加到保留区里面。

我不小心进到了easyjoystick的源码里面,发现:验证了我之前讲的。

所以,当我们想移动摇杆的时候,不触发touch,那么只需一句判断就行:

using UnityEngine;
using System.Collections;
#region 模块信息
/*----------------------------------------------------------------
// 模块名:TouchRect
// 创建者:chen
// 修改者列表:
// 创建日期:#CREATIONDATE#
// 模块描述:
//----------------------------------------------------------------*/
#endregion
public class TouchRect : MonoBehaviour
{
void OnEnable()
{
EasyTouch.On_TouchStart += MyTouchStart;
} void OnDisable()
{
UnsubscribeEvent();
} void OnDestroy()
{
UnsubscribeEvent();
} void UnsubscribeEvent()
{
EasyTouch.On_TouchStart -= MyTouchStart;
}
private void MyTouchStart(Gesture gesture)
{
if (gesture.isHoverReservedArea)//判断手指是否在保留区里面,之前那个joystick只要激活就会加到保留区。
//所以,我们只要在这个保留区里面就return掉,什么事情都不用干。
{
return;
}
//接着你的触摸功能实现
//......
} }

ok,大功告成,其实还有一种方法,就是判断一个手指是否在一个rect里面,这里比较麻烦,因为joystick的区域是适应屏幕的,所以他

的rect是会随分辨率的改变而改变,那么当分辨率改变的时候,我们的rect也要改变。所以不可取,但是只要你取到EasyJoystick源码

里面的变量areaRect,也可以实现。这里我不多讲。

用到的是gesture.isInRect和EasyTouch.IsRectUnderTouch都可取。

Unity-EasyTouch插件之ReservedArea的运用(主要是避免JoyStick与Touch的矛盾)的更多相关文章

  1. 开发unity DLL插件

    最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...

  2. (转)Unity Cinemachine插件,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...

  3. Unity——EasyTouch摇杆插件使用

    EasyTouch摇杆插件使用 Demo展示 双指缩放在电脑端无法掩饰,竖屏将就看看吧: 插件名叫EasyTouch,有需要给我留言,不想开仓库传了: 创建摇杆点这里: 初始化 On_Joystick ...

  4. unity常用插件

    Unity3D常用插件,网址:http://jingyan.baidu.com/article/7f766daf4ef2844100e1d079.html ,想想自己也有小半年unity经验了,于是整 ...

  5. 开源Unity小插件CheatConsole

    我们在开发游戏的过程中,通常都需要一些快捷的方式来进行一些非常规的测试,这些功能一般被称作控制台或者GM指令,比如虚幻竞技场中,可以使用~键呼出控制台,输入一些指令即可进行快捷设置,比如设置分辨率,全 ...

  6. 编写 Unity Editor 插件

    Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试. 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 ...

  7. 【转】unity地形插件T4M使用帮助

    unity的地形系统在手机游戏中因为效率问题基本无法使用,只能通过T4M这个地形插件来进行优化制作.下面大概讲解一下使用流程及方法. 先中U3D里面用自带的地形系统刷出想要的地形和贴图.贴图可以大概刷 ...

  8. unity Dotween插件的简单介绍及示例代码

    unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的 ...

  9. Unity给力插件之ShaderForge(一)

    这是一个用来制作shader的插件,也是一个很好的学习shader的工具.这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫. 这儿先列举出基础知识,以及我的一些实践.以后我还会继续 ...

随机推荐

  1. vue 文件引入1

    直接 <script> 引入 直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量.重要提示:在开发时请用开发版本,遇到常见错误它会给出友好的警告. 开发环 ...

  2. 7:django 中间件

    中间件 中间件是一个连接django请求/相应处理的框架,是一个轻量级的低层次的全局影响django输入输出的系统插件. 每一个中间件组件负责一些特定的功能,这里我们我们只看一下如何激活使用系统自带的 ...

  3. html,js一个元素做两次不同点击事件

    业务需求:一个按钮,第一次点击,修改页面内容,第二次点击,提交修改. 刚开始,我绑定了第一个click事件,用于让右边的内容可编辑.如:$('#id').click(function(){...}); ...

  4. BestCoder Round #85 前三题题解

    sum Accepts: 822 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/13107 ...

  5. Go语言标准包之json编码

    标准的就简单通用. package main import ( "encoding/json" "fmt" "log" ) func mai ...

  6. JMX monitor weblogic 总结

    https://blog.csdn.net/joy_91/article/details/42774839

  7. python中执行shell命令的几个方法小结(转载)

    转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014- ...

  8. 转:VMware攻击界面分析

    转:https://comsecuris.com/blog/posts/vmware_vgpu_shader_vulnerabilities/ Wandering through the Shady ...

  9. Spring的消息 Java Message Service (JMS)

     Spring有两种方法提供对EJB的支持: Spring能让你在Spring的配置文件里,把EJB作为Bean来声明.这样,把EJB引用置入到其他Bean的属性里就成为可能了,好像EJB就是另一个P ...

  10. Python开发基础-Day3-列表、元组和字典

    列表 列表定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序 ...