我们可以在render()方法中给出libgdx位置的sprite.draw吗?

时间:2016-12-28 03:11:32

标签: android libgdx

为什么我们不能像这样在render()方法中给出libgdx位置的sprite.draw?

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

我知道我们可以在create()方法中给它一个setPosition,但是例如我想在按下一个键时移动sprite,所以我需要将sprite x和y变量作为render中的位置。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用sprite.draw()类的draw方法代替使用SpriteBatch

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

按键移动sprite时,只需更新sprite的x位置和y位置。

答案 1 :(得分:0)

除非你想使用B. Naeem提到的方法。你可以在渲染/更新方法中调用setPosition,就像这样。

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

Here是您的类似帖子,可能会帮助您。