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小白--上下左右滑动识别
自己写的方法,比较简单粗暴,实现了鼠标或触屏上的上下左右滑动的识别,手机可用


暂无关于此日志的评论。