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
是什么意思?还可以请给我一个使用示例吗? 最佳答案
为什么不查看docs呢?
如文档所述,原点位于左下角,originX
,originY
是该原点的偏移量。
例如,如果您希望对象绕其中心旋转,则可以执行此操作。
originX = width/2;
originY = height/2;
通过指定
scaleX
,scaleY
,可以缩放图像,如果要将Sprite放大2倍,则可以将scaleX和scaleY都设置为数字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();
或查看教程here。