是否可以在彼此之上绘制图像?

时间:2016-01-18 06:49:19

标签: libgdx sprite

我想在另一张图片上绘制图像。然后我想分别旋转图像。

  1. 有可能吗?
  2. 如何?
  3. 非常感谢

1 个答案:

答案 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 

让我们说这是坦克身体 -

The tank

让我们说这是炮塔(加农炮) -

enter image description here

现在这是结果(忽略背景) -

enter image description here

我将炮塔旋转到90度,坦克处于0度。您可以相应地进行更改。