Unity3D判斷手指左右滑動


前段時間開發的手機游戲項目,需要一個功能,手指向左滑動時響應一個事件,手指向右滑動時響應另一個事件,網上看了看,有插件,不過沒時間研究,而且插件多了總覺得不舒服,所以自己臨時寫了一個,下面是C#版代碼。

private Vector2 touchFirst = Vector2.zero;//手指開始按下的位置

private Vector2 touchSecond = Vector2.zero;//手指拖動的位置

void OnGUI(){

  if(Event.current.type == EventType.MouseDown){//判斷當前手指是按下事件

    touchFirst = Event.current.mousePosition;//記錄開始按下的位置

  }

  if(Event.current.type == EventType.MouseDown){//判斷當前手指是拖動事件

    touchSecond = Event.current.mousePosition;//記錄拖動的位置

    if(touchSecond.x < touchFirst.x){//拖動的位置比按下的位置的x小

      //向左滑動

    }

    if(touchSecond.x > touchFirst.x){//拖動的位置比按下的位置的x大

      //向右滑動

    }

    touchFirst = touchSecond;

  }

}

注:因為Unity3D默認坐標是:

  從左到右0-N。x坐標逐漸變大。

  從下到上0-N。y坐標逐漸變大。

所以根據規律還可以判斷出鼠標向上,向下,向左,向右,左上,左下,右上,右下8個方向的手指滑動。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM