このようにHspをDirectX対応にすると、Hsp標準命令の画像描写関係のものは一切使えなくなります。否、標準命令の画像描写を行ってもDirectXの画面には反映されません。使ってもエラーが出るわけじゃないです。ただ単に見えないだけです^^;
でも見えないだけで実はちゃんと描写は行ってます。なので、buffer上にpsetやmes命令などで描写しておき、それをes_bufferに転送すれば他の画像と同じようにes_copyで画面に反映することが可能です。ただ、リアルタイムでこれをやっちゃうとめちゃめちゃ遅くなり、DirectXでやってる意味が無いです。なんで、使えなくなる、と考えておいて問題はないでしょう。
じゃ、使えなくなる(意味の無い)命令と、hspdx.dllで追加される命令と関係するものをまとめてみましょう。
- プログラム制御命令関係・・・1つだけ使い方が変わります
- await・・・画面更新速度はes_syncで一定にしますが、Windowsへタスクを渡すためにウェイト無しで使用します
- 基本入出力制御命令関係・・・画面表示に絡むものは駄目です。
- cls・・・代わりにes_clsを使います
- dialog・・・es_byeでDirectXから通常画面に戻らないと見えません^^;
- mes・・・代わりにes_mesかes_fmesを使います
- print・・・代わりにes_mesかes_fmesを使います
- text・・・試してません^^;
- title
- オブジェクト制御命令関係・・・1つを除き全滅です。
- button
- chkbox
- clrobj
- combox
- input
- listbox
- mesbox
- objmode
- objprm
- objsel
- objsend
- objsize・・・拡大縮小コピー(es_zoom)の際の大きさ指定に使います
- 画面制御命令関係・・・ほぼ全滅。その代わりに使う命令があります。
- bgscr
- bmpsave・・・es_getbufでHspウィンドウに逆読み込みしてからならDirectXの描写画面を保存できます
- boxf・・・代わりにes_boxfかes_fillを使います
- buffer・・・es_bufferの転送元として使います
- chgdisp・・・解像度はes_screenで指定できます
- gcopy・・・代わりにes_copyを使います
- getpal・・・試してません^^;
- gmode・・・es_copyのコピーサイズ指定に使います
- gsel・・・Hspのウィンドウに対してしか意味が無いのでes_getbuf等の際には使うのでしょうか?
- gzoom・・・代わりにes_zoomを使います
- line
- palcolor・・・試してません・・・が、多分使えます^^;
- palcopy・・・es_bufferの際に自動的に設定されます
- palette・・・試してませんが、es_palsetが代わりに使えるはずです
- palfade・・・代わりにes_palfadeを使います
- pget・・・試してません^^;
- picload・・・es_bufferの転送元のbufferへの読み込みに使います
- pos・・・健在です
- pset
- redraw・・・画面更新はes_syncで行います
- screen・・・代わりにes_screenを使います
- sysfont・・・試してません・・・が、多分使えます^^;
- width・・・解像度がes_screenで決まるので使いません
私の場合、使えなくなって一番痛いのはlineですかね。「Aeolianation」のAUTO SHOTはDirectXだと再現できないのです(笑)。垂直か水平の線を引くのであれば、es_boxfなどで代用はできるのですが・・・。
|