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; //记录结束的位置 //Debug.Log ("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"); } } } }
UNITY小白--上下左右滑动识别
自己写的方法,比较简单粗暴,实现了鼠标或触屏上的上下左右滑动的识别,手机可用
暂无关于此日志的评论。