Unity持久触摸检测

时间:2015-10-05 06:49:46

标签: android unity3d touch

我在停止我的屏幕触摸事件时遇到问题,我有一个按钮,一旦我点击UI按钮,它仍然会在我的屏幕上检测到触摸事件,我怎么想停止让我的屏幕触摸这样做的事件?提前谢谢。

以下是我的触摸屏的代码:

var membershipUser = System.Web.Security.Membership.GetUser(user.Name, false);
var createdate = string.Empty;
var lastlogin = string.Empty;
if (membershipUser != null)
{
  createdate = membershipUser.CreationDate.ToString("yyyy MMMM dd");
  lastlogin = membershipUser.LastLoginDate.ToString("yyyy MMMM dd");
}

和我的按钮:

for (int i = 0; i < Input.touchCount; i++) {

   if (myTouch [i].phase == TouchPhase.Began) {

   } else if (myTouch[i].phase == TouchPhase.Moved) {

   } else if (myTouch [i].phase == TouchPhase.Ended) {
      // RUN TOUCH FUNCTION HERE
   }
}

1 个答案:

答案 0 :(得分:2)

您可以简单地创建 bool 变量,例如“isTouchActive”设置为 true ,而不是按钮逻辑更改它的状态如下:
isTouchActive = !isTouchActive;
在触摸逻辑中,只需检查此变量,如:

if(isTouchActive)
{  
 for (int i = 0; i < Input.touchCount; i++) 
 {

   if (myTouch [i].phase == TouchPhase.Began) {

   } else if (myTouch[i].phase == TouchPhase.Moved) {

   } else if (myTouch [i].phase == TouchPhase.Ended) {
      // RUN TOUCH FUNCTION HERE
   }
 }
}
相关问题