在我的libgdx项目中,我使用createsprite()创建了一个从纹理地图集中创建了一个精灵。我想以旋转的方式实现精灵。我该怎么办?这是我的代码:
reelSprite = atlas.createSprite("reel");
内部渲染():
for (Wall lWalls : leftWalls){
reelSprite.setOrigin(lWalls.getX(), lWalls.getY());
reelSprite.setRotation(180);
batch.draw(reelSprite, lWalls.getX(), lWalls.getY());
}
此代码不起作用。请告诉我我做了什么。
绘制精灵之前,应该使用setrotation:
https://libgdx.badlogicgames.com/nightlies/docs/api/com/com/badlogic/gdx/graphics/graphics/g2d/sprite.html#setrotation.float-float-float-
甚至在此设置旋转点之前:
float rotate = 0;
rotate += (sprite.getRotation() - 40) * Gdx.graphics.getDeltaTime();
if(Math.abs(rotate) > 10) // change the number to set the rotation power cap
{
rotate = -10;
}
sprite.rotate(rotate);
我像这样更改了代码...
for (Wall lWalls : leftWalls){
reelSprite1.setPosition(lWalls.getX(), lWalls.getY());
reelSprite1.setOrigin(reelSprite1.getWidth()/2,reelSprite1.getHeight()/2);
reelSprite1.setRotation(180);
reelSprite1.draw(batch);
然后起作用。