0

テクスチャ パッカー (各スプライトの幅、高さ、位置、テクスチャ四角形などの情報を含む 1 つの大きなビットマップ) によって作成されたスプライトを描画しようとしています。キャンバスを回転させてみましたがうまくいきませんでした (スプライトが正しい位置に表示されませんでした)

これは、通常の(回転していない)スプライトを描画する方法です。

Rect srcRect = <a rect in the big bitmap> (for example left=0, top=0, right=100, bottom=80)
Rect destRect = new Rect(spriteOffsetX, spriteOffsetY, spriteOffset.x + spriteWidth, spriteOffset.y + spriteHeight);
canvas.drawBitmap(bitmap, srcRect, destRect, null);

スプライトを回転させてキャンバスを回転させます

canvas.rotate(-90f, canvas.getWidth() / 2.0f, canvas.getHeight() / 2.0f);

通常の(回転していない)スプライトと同じ方法でスプライトを描画します。しかし、それは間違った位置に表示されます。

誰かがこの問題を解決できますか?

4

1 に答える 1