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=衝突発生 |
| エラー | ||


