Managed DirectX で、画面にテキストを描画する場合は、Font クラスの DrawText メソッドを使用します。
この DrawText メソッドの第一引数は、Sprite オブジェクトを指定するようになっているのですが、Managed DirectX お任せで描画する場合は、null を指定すればOKですし、大概のサンプルソースもそうなっています。
昨日のことです。
以前から、Sprite を指定したらどうなるんだろう?
という疑問を持っていたので、試しにやってみることにしました。
すると…
あれ?きちんとした文字にならずに箱が描画されます。
そう言えば、以前 Sprite のヘルプを読んでいたときに、何か書いてあったような気がします。
再度、Sprite のヘルプを呼んでみると…
Sprite.Begin メソッドで指定する SpriteFlags のヘルプに
「Font クラスを使う場合、テキストを描画するときに、AlphaBlend フラグを設定する必要があります。」
と書いてあるではないですか。
すぐさま修正して、再実行します。
今度は、きちんとテキストが表示されました。
今回は、きちんとヘルプに書かれていたにも関わらずスルーしてしまたミスですね。
まあ、よくあることなので、あまり気にしませんが。
ま、こんな感じで、Managed DirectXによるGameクラスのようなもは、着々と開発が進んでいます。

