Libgdx 从纹理图集创建精灵

Libgdx 从纹理图集创建精灵,libgdx,sprite,texture-atlas,Libgdx,Sprite,Texture Atlas,在我的libGdx项目中,我使用createSprite()从纹理图集创建了一个精灵。 我想实现旋转的精灵。 我该怎么做?这是我的代码: reelSprite = atlas.createSprite("reel"); 内部渲染(): 此代码无效。请告诉我我做错了什么。在绘制精灵之前,您应该使用setRotation: 甚至在设定旋转点之前: 我像这样更改了代码 for (Wall lWalls : leftWalls){ reelSprite1.setPosition(

在我的libGdx项目中,我使用createSprite()从纹理图集创建了一个精灵。 我想实现旋转的精灵。 我该怎么做?这是我的代码:

 reelSprite = atlas.createSprite("reel"); 
内部渲染():


此代码无效。请告诉我我做错了什么。

在绘制精灵之前,您应该使用setRotation:

甚至在设定旋转点之前:


我像这样更改了代码

for (Wall lWalls : leftWalls){
        reelSprite1.setPosition(lWalls.getX(), lWalls.getY());
        reelSprite1.setOrigin(reelSprite1.getWidth()/2,reelSprite1.getHeight()/2);
        reelSprite1.setRotation(180);
        reelSprite1.draw(batch);

然后成功了。

在提问之前,请先尝试自己实现目标。然后,在问题中,解释你尝试了什么,最好是代码,什么不起作用。我尝试了setRotation()和setOrigin()。但没有效果。嗯……我没有使用精灵,但是纹理和它们旋转得很好。我正在移动reelSprite。这就是为什么旋转不能对精灵起作用的原因吗?
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);