Managed DirectX で、画面にテキストを描画する場合は、Font クラスの DrawText メソッドを使用します。


この DrawText メソッドの第一引数は、Sprite オブジェクトを指定するようになっているのですが、Managed DirectX お任せで描画する場合は、null を指定すればOKですし、大概のサンプルソースもそうなっています。


昨日のことです。


以前から、Sprite を指定したらどうなるんだろう?


という疑問を持っていたので、試しにやってみることにしました。


すると…


あれ?きちんとした文字にならずに箱が描画されます。



アニメとか好きだから-MDX Spliteテキスト描画1


そう言えば、以前 Sprite のヘルプを読んでいたときに、何か書いてあったような気がします。


再度、Sprite のヘルプを呼んでみると…


Sprite.Begin メソッドで指定する SpriteFlags のヘルプに


「Font クラスを使う場合、テキストを描画するときに、AlphaBlend フラグを設定する必要があります。」


と書いてあるではないですか。


すぐさま修正して、再実行します。



アニメとか好きだから-MDX Spliteテキスト描画2


今度は、きちんとテキストが表示されました。


今回は、きちんとヘルプに書かれていたにも関わらずスルーしてしまたミスですね。


まあ、よくあることなので、あまり気にしませんが。


ま、こんな感じで、Managed DirectXによるGameクラスのようなもは、着々と開発が進んでいます。