es_getbghit

BGマップとの当たり判定結果を取得

es_getbghit p1,p2,p3

p1=当たり判定結果が代入される変数名
p2(0)=BGNo.(0~15)
p3(0)=判定結果インデックス(0~)

(プラグイン / モジュール : HSP3Dish)

解説

es_bghit命令によって実行されたBGマップ当たり判定の結果を取得します。
BGマップの当たり判定は、BGマップが使用するキャラクターNo.ごとに設定されたアトリビュート値をもとに実行されます。アトリビュート値は、es_bgattr命令で設定することができます。
p2パラメーターでBGNo.を指定します。BGNo.は0~15までを指定可能です。
p3パラメーターで判定結果インデックスを指定します。これは判定結果が複数作成された場合のインデックス値で、0から開始されます。(p3パラメーターをマイナス値に指定した場合は、判定結果が作成された数がp1の変数に代入されます。)
es_getbghit命令実行後に、p1パラメーターで指定された変数に情報が代入されます。p1の変数はあらかじめ整数型の配列変数として初期化されている必要があります。(変数resultの場合、「dim result,7」など)
実行後に、変数の配列要素0~6に結果が代入されます。たとえば、resultという変数の場合は、result(0)~result(6)までに結果が代入されます。

    配列要素 内容
----------------------------------------------------------
         (0)  判定結果(ESMAPHIT_*)
         (1)  接触したキャラクタNo.
         (2)  接触したキャラクタNo.のアトリビュート値
         (3)  接触したマップのX座標
         (4)  接触したマップのY座標
         (5)  判定した座標の左上X座標
         (6)  判定した座標の左上Y座標

変数(0)の内容は、判定結果になります。この値は、ESMAPHIT_*というマクロで定義されています。
アトリビュート値をもとに以下の値が代入されます。

      値 マクロ名        内容
--------------------------------------------------
       0  ESMAPHIT_NONE   接触なし(移動可能)
       1  ESMAPHIT_HITX   X方向の移動時に接触あり
       2  ESMAPHIT_HITY   Y方向の移動時に接触あり
       4  ESMAPHIT_EVENT  接触情報(イベントアイテム)あり(移動可能)
       5  ESMAPHIT_NOTICE 接触情報(通知アイテム)あり(移動可能)
       6  ESMAPHIT_SPHIT  スプライト(ESSPMAPHIT_BGOBJが設定されたもの)との接触あり

p3パラメーターにマイナス値を指定した場合は、p1で指定された変数に判定結果インデックスが生成されている個数を代入します。

es_getbghit命令実行後に、正しく結果が取得された場合は、システム変数statに0が代入されます。
何らかの理由で取得に失敗した時は、システム変数statはマイナス値が返ります。

関連項目

es_bgmapBGマップを初期化(HSP3Dish)
es_putbgBGマップを表示(HSP3Dish)
es_bgattrBGマップアトリビュート値を設定(HSP3Dish)
es_bghitBGマップとスプライトの当たり判定を実行(HSP3Dish)
es_bghitposBGマップとの当たり判定を実行(HSP3Dish)

情報

プラグイン / モジュールHSP3Dish
バージョン3.7
作成日2025/02/04
著作者onitama
URLhttps://hsp.tv/
備考hsp3dish.asをインクルードすること。
タイプ拡張命令
グループ拡張画面制御命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\sprite.hs