コードスペランカー

ゲーム開発日誌など

ゲーム内でのテクスチャの作成

4.0への移行が面倒になったので3.1でやっとります。
テクスチャのアルファ問題まだ解決しない

ってわけで、3.1でやり始めて、問題が起きたのでメモしておく

ゲーム内でテクスチャを作るのに便利な
RenderTarget2Dクラス
これで新たなターゲットを作って
GraphicsDevice.SetRenderTarget(0, renderTarget);
って感じに指定すれば、手軽にテクスチャをつくれるはず・・・なのだが
なぜか、ターゲットを変更したとたんにバックグラウンドが紫に塗りつぶされる・・・
ターゲット変更したんだから、元の画面に手を出さないでくれよ。

せっかくスクリーンマネージャを作って、画面を重ねて表現してる後ろの部分が全部消えるだろうが!
しかも状態を外側から見る限りGraphicsDevice.Clear()を呼んでるようにみえるぞ?

まぁ、処理順番で対応できるっていえば出来るんだが、非常に気持ちが悪い。

2010/11/19追記
Game.Drawで呼ばないでGame.Updateで呼んだらうまくいった。
この使い方が正しいらしい。