1. ホーム
  2. java

[解決済み] SpriteBatch描画メソッドの使用方法

2022-02-07 05:24:46

質問事項

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 スプライトを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();

または、チュートリアルを参照してください。 こちら .