2016-08-31 6 views
0

私はこのスローモーションの問題に固執しました。 スローモーションのプレーヤーを左右に動かしたいと思います。 どうすればいいですか? 私はプレーヤーを動かすことができますが、それは見た目がクールではありません。私は、プレイヤーが動いたときにスローモーションを見たい。私は自分のコードを追加しました。Libgdxプレイヤーにスローモーションを追加する

//編集済み

マイプレイヤーがy軸を通過しています。私は動きのために左右に2つのボタンを持っています。 私はプレイヤーをダイレクトポジションに移動できます。しかし、私はスローモーションを使いたい。

this is my PlayScreen screenshot

public float speed = 0.09f; 

buttonimage.addListener(new ClickListener() { 
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) 
     { 

      player.position.x -= 300 * speed; 



      return true; 
     } 
    }); 

方法

public void render(float delta) { 


    Gdx.gl.glClearColor(0, 0, 2f, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 



    player.position.y += 500 * Gdx.graphics.getDeltaTime(); 
    sb.setProjectionMatrix(camera.combined); 
    sb.begin(); 
    sb.draw(bg, 0, camera.position.y - (camera.viewportHeight/2)); 
    sb.draw(player.texture, player.getPosition().x , player.getPosition().y); 
    for (Tube tube : tubes) { 
     sb.draw(tube.getlefttube(), tube.getposlefttube().x, tube.getposlefttube().y); 
     sb.draw(tube.getrighttube(), tube.getposrighttube().x, tube.getposrighttube().y); 
     sb.draw(tube.getLight() , tube.getPoslight().x , tube.getPoslight().y); 
    } 





    delta*=speed; 
    sb.end(); 
    update(delta); 

    stage.draw(); 


    app.batch.begin(); 
    app.font23.draw(app.batch,"Lights collected :" + dropsGathered , 0, 720); 
    app.batch.end(); 


} 
+0

レンダリングの方法全体を表示し、何をしているのかを詳しく説明してください。あなたのプレーヤーはすでに動いていますし、特定のキーを押している間にあなたはそれを遅くしたいのですか? – Tenfour04

+0

投稿を編集しました。私のプレーヤーはy軸を上に進んでいます。滑らかな動きのためにスローモーションで左右に移動する必要があります。 –

+0

私は動きのボタンを持っています –

答えて

0

をレンダリング私の私は、このページからBox2D

例を使用して、私はそれを行うだろうかを伝えることができます:

// apply right impulse, but only if max velocity is not reached yet 
if (Gdx.input.isKeyPressed(Keys.D) && vel.x < MAX_VELOCITY) { 
    this.player.body.applyLinearImpulse(0.80f, 0, pos.x, pos.y, true); 
} 
を210

次に、スプ​​ライトをplayer.bodyに対して描画することができます。

+0

これを行うと、私の体は動きますが、私のプレイヤーは動きません。 –

+0

あなたのプレーヤーの様子はわかりませんが、player:class Playerから継承した新しいプレーヤークラスを作成する必要があります。次に、ボディの位置にあるMyPlayerからレンダリングと描画のメソッドをオーバーライドします – Marius

関連する問題