スプライト衝突判定情報を設定する。
- SPHIT系の命令を使う前に必ず呼ぶこと。
- SPSET前に使うとエラー。
- 判定領域を省略すると、スプライトの大きさが判定領域となる。
- 判定領域を指定した場合、SPHOMEの座標(スプライトの基準位置)によるスプライトの表示位置のずれを無視する。そのため、きちんと合わせたい場合は、判定領域の始点座標から、SPHOMEの座標を引いておくと良い。
書式
SPCOL スプライト番号 [ ,始点X,始点Y,幅,高さ ] [ , { スケール対応 | [スケール対応 ] ,マスク } ]
引き数
スプライト番号
対象のスプライト番号:0~4095
始点X,Y
判定領域の始点座標:X,Y(-32768~32767)。
- スプライトの左上を原点(0,0)として表示された場合の相対座標。よってSPHOME等でスプライトの表示位置がずれる場合は、あらかじめその座標分をずらしておく必要がある。
幅,高さ
判定領域の幅と高さ:W,H(1~65535)
スケール対応
1を指定するとSPSCALEやSPANIMでのスケール変更に合わせて衝突判定の大きさが変化する
0を指定するとスケール変更しても衝突判定の大きさは変化しない
- 省略時は0。
マスク
0~&HFFFFFFFF(32ビット)
- 衝突判定時に互いのビットのANDをとり0であれば衝突していないとみなす。
- 省略時は&HFFFFFFFF。
戻り値
なし
サンプル・参考動画
'スプライトの基準座標を合わせる例
SPDEF 0, 0, 0, 32, 32, 16, 31
SPSET 0,0
SPCOL 0, 13-16, 0-31, 6, 32
コメント