2016-12-28 2 views
0

なぜこのようなrender()メソッドでLibgdxの位置にsprite.drawを置くことができないのですか?render()メソッドでLibgdxの位置にsprite.drawを付けることはできますか?

batch.begin(); 
sprite.draw(batch,x,y); 
batch.end(); 

私たちはそれをcreate()メソッドでsetPositionを与えることができます承知しているが、例えば、私はキーが押したときのスプライトを移動したいので、私はスプライトにxとy変数としてを与える必要がありますレンダリングの位置。どうすればこれを達成できますか?

答えて

0

方法を使用しない限り、B. Naeemが言及しました。このように、レンダリング/更新メソッド内でを呼び出すことができます。

batch.begin(); 
sprite.draw(batch); 
sprite.setPosition(x, y); 
batch.end(); 

Hereあなたの類似した投稿です。お手伝いがあります。

+0

ありがとうございます。私はそれをrender()メソッドに入れることは考えていませんでした。 –

0

代わりにあなたは、単にx位置とspriteのy位置を更新し、キーを押し上ごspriteを移動すると、あなたが代わりに

batch.begin(); 
batch.draw(sprite.getTexture(), sprite.getX(), sprite.getY()); 
batch.end(); 

SpriteBatchクラスのdrawメソッドを使用することができますsprite.draw()を使用します。

+0

こんにちは。私もこれを知っています。だから、sprite.draw()ではできません。 –

関連する問題