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

Is it possible to draw images on top of each other?

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

  1. 可能吗?
  2. 怎么做?

非常感谢

可以在另一个上绘制图像。您可以根据需要绘制任意数量的图像。

基本上当你绘制图像时你需要提供位置。如果您为多个图像提供相同的位置,则根据绘制图像的顺序,它们将被绘制在另一个之上。

假设您有一辆坦克和它的大炮作为单独的图像。你要做的是在屏幕上画出坦克。现在您需要具有透明背景和与坦克相同尺寸(可以是不同尺寸)的大炮图像并在相同位置绘制。这会给人一种错觉,即大炮附在坦克上。现在你可以分别旋转这两个图像。

下面是一个例子:

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 度。您可以相应地进行更改。