ゲーム プロジェクトでは、ファイル名、位置、スケール、回転などのプロパティを使用して画像を描画しています。
描画を行う部分は次のとおりです。
this.context.save();
this.context.translate(item.position.x, item.position.y);
if (item.rotation > 0) {
this.context.rotate(item.rotation * (Math.PI / 180));
}
if (item.scale.x !== 1 || item.scale.y !== 1) {
this.context.scale(item.scale.x, item.scale.y);
}
var width = item.imageSize.width * item.scale.x;
var height = item.imageSize.height * item.scale.y;
this.context.drawImage(this.assets.image[item.fileName], -(width / 2), -(height / 2), width, height);
this.context.restore();
(変な配置は気にしないでください、重要ではありません)
これは問題なく動作しますが、理解できないことが 1 つあります。
回転とスケーリングは、2 つの異なる方法で実行できます。最初にスケーリングしてから回転するか、またはその逆です。論理的には、最初に拡大縮小してから回転するのが正しいと考える人もいるでしょうが、何らかの理由で、最初に回転してから拡大縮小しないと正しく機能しません。
これを行う正しい方法は何ですか?