从纹理地图集创建精灵



在我的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);

然后起作用。

最新更新