es_check

衝突判定取得

es_check p1,p2,p3,p4,p5,p6

p1=結果が代入される変数名
p2(0)=チェックの対象となるスプライトNo.
p3(0)=検索対象となるtype値
p4(0)=判定フラグ(0=回転を考慮しない、1=回転を考慮する)
p5(0)=検索を開始するスプライトNo.
p6(-1)=検索を終了するスプライトNo.

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

解説

スプライト同士の衝突(当たり)判定を行ないます。

p2で指定されたスプライトNo.と衝突している(重なっている) スプライトを検
索して、p1で指定した変数に結果を代入します。

p3で衝突判定の対象となるtype値を指定することができます。
p3が省略されるか、 0の場合は、すべてのスプライトとの衝突を判定します。
p3のtype値には、複数のtypeを同時に指定することができます。
たとえば、type1とtype4を対象にする場合は、1+4で5を指定します。

衝突判定には、キャラクタパターンを登録した時に指定されるヒットチェック領域(%)が使用されます。 
実際に画像が重なっていても、ヒットチェック領域の範囲が重ならない限りは衝突とみなされません。
p4パラメーターに1を指定した場合は、スプライトが回転している場合でも正確な判定を行います。このオプションは、大量のスプライト衝突を判定させた場合に処理負荷が増大することがあります。p4パラメーターが0の場合は、高速に判定されますが回転角度は常に0として処理されます。
p5,p6パラメーターにより、衝突の検索を行うスプライトNo.の範囲を指定することができます。p5で開始するスプライトNo.を指定して、p6で終了するスプライトNo.を指定します(p6で指定されたNo.も検索の対象に含まれます)。p6にマイナス値を指定した場合は、終端のNo.が設定されます。パラメーターを省略した場合は、すべてのスプライトが検出の対象になります。

結果はp1で指定した変数に代入されます。もし、衝突しているスプライトがなかった場合には-1が、 衝突しているスプライトがあれば、そのスプライトNo.が代入されます。衝突しているスプライトが複数あった場合には、スプライトNo.の小さいものが優先されます。

関連項目

es_typetype値設定(HSP3Dish)
es_sizeキャラクタサイズ指定(HSP3Dish)
es_sizeexキャラクタサイズ詳細指定(HSP3Dish)
es_nearobj近くのスプライトを取得(HSP3Dish)

サンプル逆引き (3)

es_test5.hsp
es_test9.hsp
tamaenaga_dish.hsp

情報

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