プチコンmkII









40 SPRITE衝突判定命令

SPRITE衝突判定命令

SPRITEの当たり判定に関する以下の命令があります。

SPCOL、SPCOLVEC、SPHIT()、SPHITSP()、SPSPHITRC()

40 SPRITE衝突判定命令

SPCOL

SPRITE衝突判定用の矩形の定義

この命令を実行しない状態では、オフセットは0,0、サイズはSPSETで指定されたサイズとなります。

書式SPCOL 管理番号, x ,y, 横幅, 縦幅, スケール対応 [ ,グループ ]
引数管理番号0〜99
x±64
y±64
横幅1〜64
縦幅1〜64
スケール対応FALSE=無視
TRUE=同期
グループ0〜255(ビット単位でグループ設定
戻りなし
エラー

グループには、ビット単位で好みの情報を割り当てることができます。例えば下位4ビットでプレイヤー側の情報、上位4ビットで敵側の情報に分けて、プレイヤーと敵との衝突判定では、グループに&HF0を入れます。

b00プレイヤー
b01プレイヤーの弾
b02エフェクト
b03アイテム
b04
b05敵の弾
b06ボス
b07背景の障害物

40 SPRITE衝突判定命令

SPCOLVEC

SPRITE衝突判定用の移動速度の定義

強制的に移動量を指定する場合に利用します。解除する場合は、移動量を省略して実行してください。
なお、この命令を実行していない状態では、SPOFSで指定された時間と目的地から求めた値で自動的に計算されます。SPOFSを移動時間指定無しで実行した場合は、移動量は0となります。

書式SPCOLVEC 管理番号 [ ,移動量x ,移動量y ]
引数管理番号0〜99
移動量x±16.0
移動量y±16.0
戻りなし
エラー

40 SPRITE衝突判定命令

SPHIT()

SPRITEの衝突判定

同じグループ同士での衝突判定を行います。
衝突時、システム変数に相手の情報を残します。

書式SPHIT( 管理番号 [ ,開始管理番号 ] )
引数管理番号0〜99
開始管理番号0〜99(省略時自分以外すべて)
戻り結果TRUE=衝突発生
エラー

40 SPRITE衝突判定命令

SPHITSP()

SPRITE同士の衝突判定

指定した相手との衝突判定を行います。
衝突時、システム変数に相手の情報を残します。

書式SPHITSP( 管理番号, 相手管理番号 )
引数管理番号0〜99
相手管理番号0〜99
戻り結果TRUE=衝突発生
エラー

40 SPRITE衝突判定命令

SPHITRC()

SPRITEと矩形の衝突判定

指定した矩形サイズとの衝突判定を行います。
衝突時、システム変数に相手の情報を残します。

書式SPHITRC( 管理番号, 始点x, 始点y, 横幅, 縦幅 [ ,移動量x, 移動量y ] )
引数管理番号0〜99
始点x±1024
始点y±1024
横幅1〜
縦幅1〜
移動量x±16.0
移動量y±16.0
戻り結果TRUE=衝突発生
エラー