2016-08-14 9 views
0

私はスワイプとジャストタッチが違うことをするゲームを作っています。私の問題は、画面上をスワイプすると明らかにtouchDown()メソッドもトリガーされていることです。justTouched()をトリガーせずにLibgdxでスワイプを検出する方法?

イム拡張GestureAdapter:

@Override 
    public boolean touchDown(float x, float y, int pointer, int button) { 
     //move when screen is touched 
     if(life == 1 && overlaps == false) { 
      timeState = 0; 
      velocity.y = -120; 
      velocity.x = 100; 
     } 
     return super.touchDown(x, y, pointer, button); 
    } 

    @Override 
    public boolean fling(float velocityX, float velocityY, int button) { 
     if(velocityX > 10) 
      //do something 
     return super.fling(velocityX, velocityY, button); 
    } 

答えて

2

プレイヤーが最初に触れたときあなたはカントは、それだけで触れたりスワイプします知っているので、あなただけのこのケースでは触れて使用しないでください。

プレイヤーが触れた座標を保存するjusttouchedするときは、この

  1. などのタッチアップの方法でjusttouched使用する必要があります。
  2. プレーヤーがタッチアップしたときに座標を確認します。
  3. この2点間の距離が50ピクセル未満(または設定したい範囲)であれば、そのスワイプをjusttouchedとみなして、スワイプに関する計算を行うことができます。
+0

私はちょうどflingメソッドの間の問題を解決するtap()メソッドを持つJestureListenerを実装しました。 –

関連する問題