2016-01-25 33 views
0

在我的代碼不同的作用,我有我LateUpdate函數內以下行:Unity3D UI編輯器比設備

if (!EventSystem.current.IsPointerOverGameObject()) 
{ 
     if (Input.touchCount == 2 && Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved) 
     { 

     float dot = Vector2.Dot(Input.GetTouch(0).deltaPosition.normalized, Input.GetTouch(1).deltaPosition.normalized); 

     if (dot < fingerSepValue) 
     { 
      CameraZoom(); 
     } 
     else 
     { 
      MoveCamera(); 
     } 
    } 

    if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved) 
    { 
     var touchDeltaPosition = CameraOrbit(); 
    } 
} 

如果用戶沒有觸摸UI層此代碼應只運行。這在我的Unity項目中工作得很好,但是當我構建到iPad時,無論我在屏幕上的哪個位置觸摸(無論是UI還是其他方式),相機移動代碼都會被調用。

有誰知道這個的原因?難道我做錯了什麼?

回答