手势插件Easytouch的学习

用的是unity5.3.6 easytouch版本是4.0版本

1.按钮,按钮实际用处不大,忽略。


2.虚拟摇杆

直接Gameobjec-easytouch-joysick添加。可以看到new joystick 上有个脚本ETCJoystick,然后获取他得到对象joy    

 //Debug.Log( joy.axisX.axisValue);
       //Debug.Log(joy.axisY.axisValue);   这样就可以获取他的轴向偏移量。


3.关于手指触控

需要在Gameoejct添加easytouch-easytouch组件,这个组件是个空体物体上挂了一个easytouch脚本。脚本里面的事件系统里面清楚的写了事件的委托,各种手指操作可以挂在到这些事件上。注意,如下图,这个地方勾选上后UI将不再接收easytouch响应

然后,则开始写代码了。如果想让物体接受easytouch事件,就需要注册。。例子如下:

//此段代码挂载在游戏物体上

using UnityEngine;
using System.Collections;
using System;
using UnityEngine.UI;
using HedgehogTeam.EasyTouch;这个命名空间一定要添加。注意了
public class EasyTouchStart : MonoBehaviour {

    public void OnEnable()
    {
        EasyTouch.On_TouchStart += On_TouchStart;
    }

//点击屏幕任意位置都会进入
    private void On_TouchStart(Gesture gesture)
    {


        gesture.isOverGui = true; //查看isovergui的源码引用,发现不置为true,某些UI的手指触控事件将失效。多看源码
        //Debug.Log(gesture.isOverGui);
        if (gesture.pickedUIElement !=null)// 点击到ui判空
        {
            Debug.Log("it is UI");/
        }
        if (gesture.pickedObject!=null && !gesture.pickedUIElement) //点击到3D物体判空,一定要注意判空,否则就会报错
        {
            gesture.pickedObject.GetComponent<Renderer>().material.color = new Color(UnityEngine.Random.Range(0, 1), UnityEngine.Random.Range(0, 1), UnityEngine.Random.Range(0, 1));
        }
        Debug.Log("chufa");
    }

//注意删除事件
    public void OnDestroy()
    {
        EasyTouch.On_TouchStart -= On_TouchStart;
    }


    public void OnDisable()
    {
        EasyTouch.On_TouchStart -= On_TouchStart;
    }

}



总结: 总的来说用起来还是相当方便,很多事件注册可以查看easytouch的源码,事件都写的很详细,直接挂载对应的函数即可。源码中会自动区别pc和手机,可以看看。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值