2012-05-06 11 views
0

現在、私はファイナルファンタジーのようなゲームに取り組んでいます。私は、ワールドマップから戦闘に切り替える際に効果を出すところにいます。 SpriteBatch.Beginに渡される変換マトリックスを単にアニメーション化することを考えていましたが、私の問題は回転するとき、回転の起点が私のシーン全体の左上であり、 「ズームイン」されている。 SpriteBatch.Drawの回転原点を指定できることがわかりましたが、それはスプライトごとに設定され、シーン全体を回転させたいのです。2dシーン全体を回転させてズームする

答えて

1

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

Matrix Transform = Matrix.CreateTranslation(-Position) 
    * Matrix.CreateScale(scale) 
    * Matrix.CreateRotationZ(angle) 
    * Matrix.CreateTranslation(GraphisDevice.Viewport.Bounds.Center); 
+0

私が探していたまさに何が、私はあなたが、彼らがしていた場所に応じて異なった反応を複数の翻訳を持つことができることを認識していませんでした方程式、ありがとう! – vocero

関連する問題