結果から言えばさくっと完成したんですよ。何がって、スプライトの上にテキストを上書きするサンプルなんですが。
某所でテキストをスプライトに上書きするにはテキストそのものをスプライト化するしか方法が無い、とあったのですが、いまどきのハードって別にスプライトを専用のハードで処理しているのでは無いので他にやりよう有るのでは?と思って色々試してみました。
一番簡単だと思って最初に試したのが、スプライトを描画した後の画面データを一度イメージとしてキャプチャしたあと(get image)それをペーストしてから(paste image)その上にテキスト書いてsyncすればよいのでは?と誰でも思いつきそうな方法。
で、実際やってみたらget imageでスプライトが取りこめねー!
そして痺れる位おせぇー!
そんなところまでスプライトをシミュレートしているのか、DirectX9、侮れねぇ。
むむむ、実は結構手ごわいのか?
で、リファレンスずらーっと眺めてみたら、draw sprite firstとdraw sprite lastなるコマンドが!
おお!これだ!スプライト描画時の優先順位を変えるコマンドがちゃんとあるでは無いか。
で、試してみたら今度はDBPのバグなのか、スプライトそのものが一切表示されなくなってしまった。
うーん、却下、次!
で、仕方が無いので本家のフォーラム除いてみたら、ふつーにありました、スプライトの描画優先順位に関するスレッドが幾つも。
なんだ、paste spriteなんてコマンドがあるんすね。なんだか普通にイメージをペーストしているのと変わらないような気もしますけれど...。
15分で出来るだろうと思ってはじめたら結局2時間近く嵌ってしまった。寝なくては。
とりあえずサンプル、アップローダーに上げましたので、興味あるかたは右のリンクからどうぞ。
0 件のコメント:
コメントを投稿