2017-05-22 2 views
1

ジャンプアニメーションを作成しましたが、画面に触れなくてもアニメーションは停止します。ここでジャンプアニメーションの問題

は、コードは次のとおりです。私は画面をタッチ停止した後

boolean touching = Gdx.input.isTouched(); 
    long elapsed = (System.currentTimeMillis() - startTime)%1000; 

    if (touching){ 
     float jump = 500 * (float)Math.sin(((Math.PI*2)/1000)*(elapsed/2)); 
     sprite.setPosition(Gdx.graphics.getWidth()/2,jump); 
    } 

は、どのように私は、アニメーションの仕上げを作るのですか?ここで

は、コード実行のGIFです:

enter image description here

+0

あなたの現在の結果は、「画面に触れなくてもアニメーションが止まります。」そして、画面に触れなくてもアニメーションを終了したいのですが、これらの違いは何ですか?フィニッシュ? – Aryan

+0

私が触れるのを止めると、スプライトは空中で凍りつく。しかし、私はそれが地面に当たるまでアニメーションを終了したい –

+0

それを持って、すでに答えたことを確認した – Aryan

答えて

2

私は何を達成したいことは、単一のタッチでジャンプして、それを終えるようにすることだと思います。私はこれを行うには何らかの国家を使うだろう。現在、ステートメント内のコードは、タッチすると実行されます。

ユーザーが画面に触れるたびにboolean jumpingtrueに設定できます。 if (touching)をチェックする代わりに、if (jumping)をチェックします。ここでジャンプのコードを入れます。ジャンプ中に誰かが画面を押すと、ダブルジャンプのようなものを除いて、リセットを許可してはいけません。そして実体が地面に再び触れるたびに、ジャンプはfalseに戻すべきです。

+0

ありがとう、それは今働く! –

関連する問題