EasyTouch摇杆插件使用中遇到的坑

遥感插件使用过程遇到的问题

原理:摇杆使用过程,首先需要Touch记录手势,存到Touch  fingers数组中,然后Update里面检测fingers[0](遥感只考虑第一个手势)是否为null来进行后续事件触发与回调.

以下是Touch中手势判断代码.当有手势对象时,会触发Touch事件,在Touch事件中检测遥感事件.

                        for (i = 0; i < 10; i++)
			{
				if (fingers[i] != null)
				{
					OneFinger(i);
				}
			}

遇到的问题:

1.当跳转界面时,NGUI跳转界面的加载,遥感手势信息会无法清除.出现遥感Touch和Joystick无法触发抬起事件.并且手势信息没有清除,下一次点击手势无法记录.跳转完界面后,第一次点击遥感会无效.

2.当遥感与NGUI使用同一层时,会出现NGUI界面的点击事件,会影响遥感的抬起事件.优先触发NGUI事件,遥感事件会中断.无法在松手时,触发抬起事件.

解决方案.

1.强制清除手势信息方法:在EasyTouch脚本中,最后添加方法,用来强制清除手势信息,以达到当手势信息无法清除时,可以调用清除.调用时通过Touch对象调用.

以下是清除手势代码.

	public void ClearFingerInfo()
	{
		this.fingers[0] = null;
	}
2.使用遥感时,要单独分层.使用方法见下:使用栏第一条.

   使用

1.EasyTouch插件使用,要记录主摄像机和NGUI摄像机.

特别注意:遥感使用要单独分层.并在EasyTouch属性栏 NGUILayers选择新层.

EasyTouch摇杆插件使用中遇到的坑_第1张图片

2.EasyJoystick的触发和抬起事件.可以+=或者-=注册回调和移除回调.

        EasyJoystick.On_JoystickTouchStart += (方法);			//点击事件
        EasyJoystick.On_JoystickTouchUp += (方法);			//抬起事件
3.Easyjoystick里面控制显示遥感图片的一些属性

    public bool showZone = true;	//底图是否显示
    public bool showTouch = true;	//移动的游标图片是否显示
    public bool showDeadZone = true;	//游标外虚线圈是否显示
    public Color areaColor = Color.white;	//底图颜色
    public Texture areaTexture;		//底图图片
    public Texture touchTexture;	//游标图片
    public Color touchColor = Color.white;	//游标颜色
    public Texture deadTexture;		//虚线圈图片










你可能感兴趣的:(unity3d基础,unity插件)