Unity--上下左右滑动识别

 
 
public class JudgeDirection : MonoBehaviour {


	private Vector2 touchFirst = Vector2.zero;
	private Vector2 touchSecond = Vector2.zero;
	public float slidingDistance = 80f;


	void OnGUI()
	{
		if (Event.current.type == EventType.MouseDown)
		{
			touchFirst = Event.current.mousePosition;//记录开始按下的位置
													 //Debug.Log ("touchFirst:" + Event.current.mousePosition);
		}
		if (Event.current.type == EventType.MouseUp)
		{


			touchSecond = Event.current.mousePosition; //记录结束的位置  

			Vector2 slideDirection = touchSecond - touchFirst;
			float x = slideDirection.x;
			float y = slideDirection.y;


			if (Mathf.Abs(y) >= Mathf.Abs(x) && Mathf.Abs(y) > slidingDistance)
			{
				if (y > 0)
				{
					Debug.Log("Down");
				}
				else
				{
					Debug.Log("up");
				}
			}
			else if (Mathf.Abs(x) > Mathf.Abs(y) && Mathf.Abs(x) > slidingDistance)
			{
				if (x > 0)
				{
					Debug.Log("right");
				}
				else
				{
					Debug.Log("left");
				}
			}
		}
	}
}


猜你喜欢

转载自blog.csdn.net/lizhenxiqnmlgb/article/details/80453032