0

私は現在、ファイナルファンタジーのようなゲームに取り組んでおり、世界地図から戦闘に切り替えるときの効果に取り組んでいます。回転効果を拡大しながらズームインしたかったので、SpriteBatchに渡される変換行列を単純にアニメーション化することを考えていました。最初に、回転すると、回転の原点がシーン全体の左上になり、回転の原点がなくなります。 「ズームイン」は中央に配置されません。SpriteBatch.Drawで回転の原点を指定できることを確認しましたが、これによりスプライトごとに回転の原点が設定されるため、シーン全体を回転させたいと思います。

4

1 に答える 1

1

あなたが探している変換はこれです:

Matrix Transform = Matrix.CreateTranslation(-Position)
   * Matrix.CreateScale(scale)
   * Matrix.CreateRotationZ(angle) 
   * Matrix.CreateTranslation(GraphisDevice.Viewport.Bounds.Center);
于 2012-05-06T20:52:35.970 に答える