1
SpriteBatch batcher = new SpriteBatch();
batcher.draw(TextureRegion region,
             float x,
             float y,
             float originX,
             float originY,
             float width,
             float height,
             float scaleX,
             float scaleY,
             float rotation)

originX, originY, scaleX, scaleY,是什么意思rotation?你也能给我一个他们使用的例子吗?

4

1 回答 1

9

您为什么不查看文档

如文档中所述,原点位于左下角,originX,originY是从该原点的偏移量。例如,如果您希望对象围绕他的中心旋转,您将执行此操作。

originX = width/2;
originY = height/2;

通过指定scaleX, scaleY,您可以缩放图像,如果您想让 Sprite 变大 2 倍,您需要将 scaleX 和 scaleY 都设置为 number 2

rotation以度数指定围绕原点的旋转。

此代码段绘制围绕其中心旋转 90 度的纹理

SpriteBatch batch = new SpriteBatch();
Texture texture = new Texture(Gdx.files.internal("data/libgdx.png"));
texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);

int textureWidth = texture.getWidth();
int textureHeight = texture.getHeight();
float rotationAngle = 90f;

TextureRegion region = new TextureRegion(texture, 0, 0, textureWidth, textureHeight);

batch.begin();
batch.draw(region, 0, 0, textureWidth / 2f, textureHeight / 2f, textureWidth, textureHeight, 1, 1, rotationAngle, false);
batch.end();

或在这里查看教程。

于 2013-01-28T15:13:40.250 回答