unity上用EasyTouch如果同时有EasyJoystick的话,不能同时按EasyJoystick和EasyTouch的解决办法

http://blog.csdn.net/chrisfxs/article/details/18407795

找了下原因,是因为当你按着EasyJoystick时触发EasyTouch的函数识别你是否按下时识别的是你按着EasyJoystick的手指,所以无法识别


解决办法:

在脚本EasyTouch.cs里改多一个判断:

[csharp]  view plain copy
  1. public static bool IsRectUnderTouch( Rect rect, bool guiRect=false){  
  2.       
  3.     bool find=false;  
  4.       
  5.     for (int i=0;i<10;i++){  
  6.         if ( EasyTouch.instance.fingers[i]!=null && (EasyTouch.instance.fingers[i].position.x > Screen.width/2)){//这里添加了后半部分的识别,//因为我的按钮在左边,不识别右边的手指  
  7.             if (guiRect){  
  8.                 rect = new Rect( rect.x,Screen.height-rect.y-rect.height,rect.width,rect.height);     
  9.             }  
  10.             Debug.LogError("IsRectUnderButton " + i + "   "+ EasyTouch.instance.fingers[i].position);  
  11.             find = rect.Contains(  EasyTouch.instance.fingers[i].position);  
  12.             break;  
  13.         }  
  14.     }  
  15.       
  16.     return find;  
  17. }  

[csharp]  view plain copy
  1. 添加了后半部分的识别,因为我的按钮在左边,不识别右边的手指  

你可能感兴趣的:(unity上用EasyTouch如果同时有EasyJoystick的话,不能同时按EasyJoystick和EasyTouch的解决办法)