« [改造記]はじめに | トップページ | [改造記]画像の準備 »

[改造記]まずは初期設定

まず、HspでDirectXを使うのに必要なものを用意しましょう。

  1. Hspの標準セット(当たり前ですね^^;)
  2. DirectX3以上(DirectX5以上が推奨です)
  3. hspdx.dll(拡張dll本体)
  4. hspdx.as(ヘッダファイル)

これ以外にWindows95以上を搭載したパソコンも必要です。っつーかこれが無ければHsp標準命令でプログラミングすることさえできませんが^^;

hspdx.dllhspdx.ashsed2.exehsp2.exe等と同じフォルダに入れておきましょう。これ以外には、プログラム中に描写するBMPファイルなども同じフォルダに置いておく必要があります。まぁこのへんはHsp標準命令と同様です。

HspでDirectXを扱うのに、様々な命令が用意されています。それで何ができるか?ということを整理しておきましょう。大雑把に分類するとこんな感じです。

  • HspでDirectXを扱う為の準備系命令(es_iniやes_bufferなど)
  • 直接画面に描写をする命令(es_boxfやes_mesなど)
  • バッファから画像を転送する為の命令(es_copyやes_zoomなど)
  • スプライト関係の命令(es_newやes_setなど)

実はこれらの中で一番多いのはスプライト関係の命令だったりします。色々なことが制御できるので、やっぱり命令も色々あるわけです。

では最初にHspでDirectXを扱う為のおまじないをしましょう。これはスクリプトの先頭に記述する必要があります。


#include "hspdx.as"

これによって、hspdx.dllで扱うことができる諸命令が追加されます。お次に初期設定を行いましょう。


;■ DirectX 初期化&チェック
es_ini
es_screen 640,480,8,0
if stat=1 : goto *dxerr1
if stat=2 : goto *dxerr2
goto *gamestart

*dxerr1
dialog "DirectXの初期化に失敗しました。",1    : end
*dxerr2
dialog "スクリーンの初期化に失敗しました。",1 : end
*dxerr3
es_bye : wait 100
dialog "VRAMの容量が不足しています。",1       : end

まずes_iniでシステムの初期化を行います。スプライト数の上限(定義なしで512個)やキャラクタ定義数の上限(定義なしで1024個)を変更することもできます。

次にes_screenで 画面解像度などの指定を行います。VRAMの容量に左右されるようですが、320x240、640x480、800x600の3つのサイズが対応してるよ うです。実はプレステなどの家庭用ゲームでは320x240の解像度が限界なので、あれよりもっときめの細かい画面表現が可能ということになります。た だ、その分絵を描くのは大変ですし、容量も食います。自分が目指すクオリティによって解像度を決めましょう。

お次に初期化の成否チェックを行います。でも実はhspdx.dllのバグで、もし初期化に失敗してもこのダイアログは表示されません。何がいけないんだぁ~(T-T)と泣き叫びながらデバッグを行うことになります。なので「はじめに」でも書きましたが、Sinagawaさんによってデバッグされたhspdxfix.dllを使うことを強くお勧めします。そ の場合ウィンドウモードで起動して、Hspのデバッグウィンドウを随時参照するようにしましょう。ただ、ウィンドウモードではDirectXの強みである 画面描写がものすごく遅くなるので、デバッグする時以外はフルスクリーンモードに戻しましょう。es_screenの第4パラメータに3を指定するとウィンドウモードです。


;■ DirectX 初期化&チェック
;■ hspdxfix.dllでウィンドウモード起動する場合
es_ini
,,-1 : es_screen 640,480,8,3
if stat=1 : goto *dxerr1
if stat=2 : goto *dxerr2
goto *gamestart

*dxerr1
dialog "DirectXの初期化に失敗しました。",1    : end
*dxerr2
dialog "スクリーンの初期化に失敗しました。",1 : end
*dxerr3
es_bye : wait 100
dialog "VRAMの容量が不足しています。",1       : end

2箇所変更点がありますね。hspdx.dllの2つ目のバグで、パレット番号0が強制的に透明色となる。その上パレット番号0が#000000の黒以外の場合は透過しないと いうものがあります。私の場合、hspdx.dllを使う前からパレット番号0は黒にしていた為このバグには気がつきませんでした。非常にラッキーだった と言えます。もしパレット番号0に黒以外を指定してしまってた場合、パレットを変更するか、hspdxfix.dllを使い上記のようにes_iniで初 期化する時に第3パラメータに-1を入れておきましょう。これで解決。

« [改造記]はじめに | トップページ | [改造記]画像の準備 »

3.改造記」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67538/57445617

この記事へのトラックバック一覧です: [改造記]まずは初期設定:

« [改造記]はじめに | トップページ | [改造記]画像の準備 »