是否可以在彼此之上绘制图像?
Is it possible to draw images on top of each other?
我想在另一张图片上绘制一张图片。然后我想分别旋转图像。
- 可能吗?
- 怎么做?
非常感谢
可以在另一个上绘制图像。您可以根据需要绘制任意数量的图像。
基本上当你绘制图像时你需要提供位置。如果您为多个图像提供相同的位置,则根据绘制图像的顺序,它们将被绘制在另一个之上。
假设您有一辆坦克和它的大炮作为单独的图像。你要做的是在屏幕上画出坦克。现在您需要具有透明背景和与坦克相同尺寸(可以是不同尺寸)的大炮图像并在相同位置绘制。这会给人一种错觉,即大炮附在坦克上。现在你可以分别旋转这两个图像。
下面是一个例子:
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 度。您可以相应地进行更改。
我想在另一张图片上绘制一张图片。然后我想分别旋转图像。
- 可能吗?
- 怎么做?
非常感谢
可以在另一个上绘制图像。您可以根据需要绘制任意数量的图像。
基本上当你绘制图像时你需要提供位置。如果您为多个图像提供相同的位置,则根据绘制图像的顺序,它们将被绘制在另一个之上。
假设您有一辆坦克和它的大炮作为单独的图像。你要做的是在屏幕上画出坦克。现在您需要具有透明背景和与坦克相同尺寸(可以是不同尺寸)的大炮图像并在相同位置绘制。这会给人一种错觉,即大炮附在坦克上。现在你可以分别旋转这两个图像。
下面是一个例子:
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 度。您可以相应地进行更改。