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