リファレンス 8 ドキュメント 4 サンプル 13
標準機能 282 hgimg 156 hspcmp 19 hspda 13 hspdb 8 hspdx 44 hspext 60 hspsock 12

hspdx

Version 0.12 Date 2002/12/01 Author Sinagawa(original by onitama)

拡張画面制御命令

es_adir
スプライト移動方向設定
スプライトを自動的に移動させるための設定をします。 p1でスプライトNo.、p2で方向を指定します。方向は、0~63までの 数値で指定します。0が真下となり、反時計回りに増加していきます。 p3で移動スピードを%で指定します。
es_aim
スプライト参照座標設定
es_aim命令は、es_adir命令と同じく指定した方向にスプライトを 移動させるためのものです。es_aim命令では、方向の替わりに移動 する目標となるX,Y座標を指定します。スプライトは、現在の座標 から、目標となる座標への方向を計算し移動を開始します。
es_ang
角度取得
システム変数statに(p1,p2)から見た(p3,p4)の方向が返ります。 es_aimを使っても方向を得ることはできますが、この命令を使えば スプライトを使わずに方向を得ることができます。
es_apos
スプライト移動設定
スプライトを自動的に移動させるための設定をします。 p1でスプライトNo.、p2,p3でX,Y方向の増分を指定します。 p4で移動スピードを%で指定します。p4を省略するか、100を 指定した場合は、100%のスピードとなり、1フレームに(p2,p3) で指定した増分だけ移動し続けます。
es_area
スプライト有効エリア設定
スプライトの有効エリアを設定します。 スプライト座標が(p1,p2)-(p3,p4)の範囲内にないものは、自動的に 削除されます。 スプライトの表示範囲が設定されると(es_window命令)自動的に、 スプライト有効エリアも再設定されます。
es_boxf
矩形塗りつぶし
(p1,p2)-(p3,p4)の矩形範囲を現在選択されている色で塗りつぶします。 色の選択は、color命令で行ないます。
es_buffer
VRAMイメージ転送
属性スイッチ=0 : オフスクリーンバッファをVRAMに取る、 失敗した場合は、メインメモリに取る 属性スイッチ=1 : オフスクリーンバッファをメインメモリに取る 属性スイッチ=2 : オフスクリーンバッファをVRAMに取る
es_bye
システム解放
HSPDX.DLLシステムの切り離しをします。 画面モードをウインドゥモードに戻し、確保されていたメモリをすべて解放しま す。これは、クリーンアップ関数としてHSP終了時に自動的に呼び出されます。
es_caps
DirectXシステム情報取得
DirectXのドライバが、どのような機能を持っているかを調べて、結果をp1で 指定する変数に代入します。 p2の情報IDと、p3の情報ビットについての詳細は、HSPDX.DLL REFERENCE MANUAL のDDCAPS一覧を参照してください。
es_check
衝突判定取得
スプライト同士の衝突判定を行ないます。 p2で指定されたスプライトNo.と衝突している(重なっている)スプライト を検索して、p1で指定した変数に結果を代入します。 p3で衝突判定の対象となるtype値を指定することができます。
es_chr
chr値設定
p1で指定したスプライトのキャラクタNo.を変更します。
es_clear
複数スプライト削除
p1で指定したスプライトNo.以降のスプライトが削除され未登録になり ます。p2で削除されるスプライトの数を指定することができます。 p1とp2の指定を省略した場合は、すべてのスプライトが削除されます。
es_cls
画面クリア
この命令は、画面全体を指定した色でクリアします。 p1,p2,p3でクリアする色をRGBコードで指定可能です。 実際には、指定したRGBに最も近い色を持つパレットでクリアされます。 p1,p2,p3の指定を省略すると、黒でクリアします。
es_copy
画像コピー
es_copy命令では、pos命令で指定した座標に、gmodeで指定したサイズとモードで p1で指定したIDの(p2,p3)の座標から画像がコピーされます。 HSPのgcopy命令とは若干違いがありますが、ほぼ同じ記述でコピーが可能です。
es_draw
スプライト描画
登録されているスプライトを画面に描画します。 通常は、p1,p2のパラメータを省略して使用すれば、すべてのスプライトを描画 することが可能です。 登録されているスプライトの一部だけを描画したい場合は、p1に開始スプライト No.、p2に描画する個数を指定してください。
es_fill
矩形塗りつぶし
es_boxf命令と同じく指定した矩形範囲を塗りつぶすための命令です。 異なる点は、es_fill命令では、塗りつぶす色をパレット番号で指定します。 塗りつぶす大きさ(サイズ)は、gmode命令で指定したサイズになります。
es_find
スプライト検索
登録されているスプライトの中で指定したtype値を持つもののスプ ライトNo.を検索します。 p2のtype値には、複数のtypeを同時に指定することができます。 たとえば、type1とtype4を対象にする場合は、1+4で5を指定します。
es_flag
flag値設定
p1で指定したスプライトのflag値を変更します。 flag値は、スプライトが有効になっている場合は、$100(256) が自動的に設定されています。通常は特にいじる必要はありません。
es_fmes
フォント指定文字列表示
カレントポジション(pos命令で指定されたX,Y座標)から、指定した文字列を 表示します。文字の色は、現在選択されている色(color命令で指定)になり、 フォントはfont命令で選択されているものが使用されます。
es_get
スプライト情報取得
p1で指定した変数名に、p2のスプライトNo.の情報を代入します。 情報の種類は、p3のinfo numberで指定します。
es_getbuf
VRAMイメージ読み出し
DirectXが管理する画像バッファの内容を、HSPのウインドゥに読み出し コピーします。読み出しは、現在gsel命令で選択されているHSPの ウインドゥIDに対して行なわれます。 p1で、DirectXのバッファIDを指定します。
es_getfps
FPS取得
1秒間にes_sync命令が実行された回数を、p1で指定した変数に代入します。
es_ini
システムの初期化
HSPDX.DLLシステムの初期化を行ないます。 パラメータを省略すると、スプライトは512個まで、キャラクタ定義数は1024個 までを最大としてスプライトを初期化します。es_ini命令は何度でも実行する ことができるので、スプライトをすべてクリアしたい時などにも使用可能です。
es_kill
スプライト削除
p1で指定したスプライトNo.を削除します。
es_link
アニメーション設定
キャラクタのループアニメーションを設定するための命令です。 p1で指定したキャラクタNo.が、指定されたフレームだけ表示した後に、 p2で指定したキャラクタNo.に戻るように設定を行ないます。
es_mes
文字列表示
カレントポジション(pos命令で指定されたX,Y座標)から、指定した文字列を 表示します。 es_fmes命令と似ていますが、文字の色やフォントが選べないかわりに、 こちらの方が高速に処理されます。 文字の色は、常に白(RGB=255)となり、標準フォントが使用されます。
es_new
新規スプライト取得
スプライトNo.の中で使われていないNo.を検索します。 p2で指定したNo.以降で空きのあるNo.を、p1で指定した変数に代入 します。
es_offset
オフセット座標設定
すべてのスプライトの表示を、オフセット値で指定した数だけずらして 表示します。この命令で設定したオフセット値は、es_draw命令で描画を 行なった時に反映されます。
es_opt
システムオプション設定
拡張機能のオプション値を設定する命令です。
es_palfade
パレットフェード
p1で画像の明るさを設定します。p1が0の時が通常(設定パレットのまま)です。 p1がマイナス値になるほど画像は暗くなり、プラス値になるほど明るくなります。 p1が-256で完全な黒になり、256で完全な白になります。 p2でフェードのスピードを指定することができます。
es_palset
パレット変更
パレットの色を設定します。p1で指定したパレット番号に、p2,p3,p4がそれぞれ R,G,Bとなる色を設定します。 es_palset命令による設定変更は、命令実行時すぐには反映されません。
es_pat
キャラクタ画像定義
スプライトのキャラクタパターンを定義します。 p1はキャラクタNo.、(p2,p3)の座標から、es_sizeで設定した大きさのキャラクタ が登録されます。ここで対象となる画像は、直前にes_buffer命令でVRAMに転送 された画像データとなります。
es_pos
スプライト座標設定
スプライトの座標を変更します。 p1でスプライトNo.を指定して、(p2,p3)でX,Y座標を設定します。 es_posは、設定済みのスプライトの座標だけを変更する命令です。
es_put
キャラクタ画面表示
スプライト用のキャラクタパターンとして登録されているデータを、指定した座標 に表示します。この命令は、スプライトとは関係なく画面にキャラクタを転送する 命令です。
es_release
スクリーンバッファ削除
p1で指定されたオフスクリーンバッファを削除します。
es_screen
画面モードの変更
画面の解像度を変更し、DirectXが使用可能な状態にします。 (p1,p2)で解像度を指定します。通常は、(640,480)を指定します。 p3はカラーモードを指定します。パレットモードを使用する場合は8、 ハイカラー以上を使用する場合は16,24,32のいずれかを指定します。
es_set
スプライト設定
スプライトを登録します。 p1は、スプライトNo.(0~511)、(p2,p3)は画面上でのスプライトの座標になります。 この座標を左上として、p4で指定したキャラクタNo.が表示されます。 スプライト座標は、-32767~32767までの範囲が設定可能です。
es_size
キャラクタサイズ指定
スプライトのキャラクタパターンを定義する際の、サイズを指定します。 (p1,p2)がキャラクタのX,Yサイズになります。 p3は当たり判定を行なう際のヒットチェック領域が、何%になるかを指定します。
es_sync
画面更新とウェイト
描画された画面を更新するとともに、以前のes_sync命令実行時から経過した 時間を測定して、システム変数statに返します。 p1で、最低でも何msのウェイトを取るかを指定することができます。 p1を省略するか、0を指定した場合は最低ウェイト時間はなくなります。
es_timer
タイマー取得
Windowsを起動してからの経過時間をミリ秒単位で、p1に指定した変数に 代入します。精度は環境に依存します。
es_type
type値設定
p1で指定したスプライトのtype値を変更します。 type値についての詳細は、HSPDX.DLL REFERENCE MANUALの「type値の設定について」を参照して ください。
es_window
スプライト表示エリア設定
この命令により、スプライトを画面内の限られた範囲内にのみ表示することが可能 です。指定した範囲内がスプライトの表示エリアになります。 スプライト以外の描画命令には、この範囲は適用されません。
es_xfer
バッファ間画像コピー
es_copy命令と同じく画像イメージのコピーを行ないますが、コピー先を画面上だけ ではなく、別なバッファなども指定することができます。 p1で指定したバッファIDに、p2で指定したバッファIDのイメージを転送します。
es_zoom
拡大縮小画像コピー
es_zoom命令では、pos命令で指定した座標に、gmodeで指定したサイズとモードで p1で指定したIDの(p2,p3)の座標から画像がコピーされます。 ただし、コピー先のサイズはobjsize命令で指定したサイズが使われます。