es_bghitpos

BGマップとの当たり判定を実行

es_bghitpos p1,p2,p3,p4,p5,p6,p7,p8

p1(0)=BGNo.(0~15)
p2(0)=判定を行うBG上のX座標(ドット単位)
p3(0)=判定を行うBG上のY座標(ドット単位)
p4(0)=判定を行うXサイズ(ドット単位)
p5(0)=判定を行うYサイズ(ドット単位)
p6(0)=X方向の移動量
p7(0)=Y方向の移動量
p8(0)=座標モードスイッチ(0=16bit/1=32bit)

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

解説

BGマップに設定されたアトリビュート値をもとに指定座標からの当たり判定を実行します。
あらかじめ、es_bgattr命令によりマップデータに適切なアトリビュート値を設定しておく必要があります。
es_bghitpos命令は、任意の矩形を移動させた場合にBGマップのキャラクタに接触するかどうかを判定し、結果のリストを作成します。スプライト座標をもとに当たり判定を行う場合は、es_bghit命令を使用してください。
結果は、es_getbghit命令により取得することが可能です。
p1でBGNo.を指定します。BGNo.は0~15までを指定可能です。
(p2,p3)パラメーターで、矩形の左上座標を指定します。これはBGマップ上の座標をドット単位で指定します。
(p4,p5)パラメーターで、矩形のX,Yサイズをドット単位で指定します。
(p6,p7)パラメーターで、移動させるX,Y方向の移動量をドット単位で指定します。
命令実行後に、システム変数statに当たり判定結果が作成された個数が代入されます。通常は少なくとも1個以上の結果が作成されます。
p8パラメーターが1の場合は、(p2,p3)及び(p6,p7)の座標値をドット単位ではなく標準スプライトの32bit値(下位16bitを含めた座標)として扱います。
複数のキャラクタに同時に当たった場合などは、複数の結果が作成されます。その場合は、es_getbghit命令で結果のインデックス値を指定して取得してください。
何らかの理由で実行に失敗した時は、システム変数statに0の値が返ります。

関連項目

es_bgmapBGマップを初期化(HSP3Dish)
es_putbgBGマップを表示(HSP3Dish)
es_bgattrBGマップアトリビュート値を設定(HSP3Dish)
es_getbghitBGマップとの当たり判定結果を取得(HSP3Dish)

情報

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