| 画面描写(es_copy) | |||||
さていよいよhspdx.dllを使う場合の画面描写です。実はスプライトの機能を使わなければ、変更点はgcopyの代わりにgmodeとes_copyを使うだけです。では「奮闘記」の配列を使って星の動きを制御するのだのスクリプト(若干異なります^^;)を改造してみましょう。やっと「改造記」の名に相応しい状況になってきました(笑) 改造前スクリプトと改造後スクリプトのダウンロード(lzh) ※hspdxfix.dllとhspdxfix.asはご自分でご用意ください サンプルにはstars.bmpが添付されてます。こんな感じ。 ![]() 小さくてわかりませんね(笑)左から順に、明るい色から暗い色まで1dotの点がうってあります。ワンブロック5x5の大きさでコピーするようにしています。まぁどんな大きさでもいいんですけど^^;
hspdxfix.dll対応にする際に変更を加えた箇所はこの色になってます。この色になってる部分が今回の改造のキモです。この*starsのルーチンをもし標準命令で書くとすると、こんな感じです。
このサンプルの場合gcopyをgmodeとes_copyに変更してますが、じつは標準命令の場合もgmodeでコピーサイズを指定しておけるので、実質はgcopyをes_copyに差し替えるだけです。この程度のスクリプトなら、もろもろの準備をしなければならない分、DirectXを使うほうが面倒だったりします^^; stars.asとstarsdx.asをじっくり見比べてみてください。実行時の見た目は、chgdispで全画面表示をしてるので殆ど差が無いと思います。大きく変更されているのは今までの項で解説してきたDirectX対応にする為の準備部分だけのはずです。そしてこの部分はDirectX対応にする限り、全く同じような形でスクリプトを組むこととなります。
|