我想在另一张图片上绘制图像。然后我想分别旋转图像。
非常感谢
答案 0 :(得分:3)
可以将图像绘制在另一个上面。您可以根据需要绘制尽可能多的图像。
基本上,当您绘制图像时,您需要提供位置。如果为多个图像提供相同的位置,则根据所绘制图像的顺序,它们将被绘制为一个在另一个上。
所以,让我们说你有坦克及其大炮作为单独的图像。你要做的是在屏幕上画出坦克。现在你需要具有透明背景和与坦克相同尺寸的加农炮图像(可以是不同尺寸)并绘制在相同位置。这将产生一种幻觉,即大炮附着在坦克上。现在你可以分别旋转这两个图像。
以下是一个例子:
Sprite tankSprite = new Sprite(new Texture("tank.png"));
Sprite turretSprite = new Sprite(new Texture("turret.png"));
//Set the rotations
tankSprite.setRotation(angle);
turretSprite.setRotation(angle);
//Set the positions
tankSprite.setPosition(x, y);
turretSprite.setPosition(x, y);
//Draw the sprites, using spritebatch
tankSprite.draw(batch); // Drawn first
turretSprite.draw(batch); //Drawn over tank
让我们说这是坦克身体 -
让我们说这是炮塔(加农炮) -
现在这是结果(忽略背景) -
我将炮塔旋转到90度,坦克处于0度。您可以相应地进行更改。