僕は、「当たった物一覧」という配列をつくり、そこに格納して行く方法をとりました。
getcoliで当たり判定を行ない、取得したIDを格納し、そのオブジェクトのコリジョンを外す。
「当たった物一覧」のインデックスを+1して、getcoliで何も検出しなくなるまでループ。
終わったら、「当たった物一覧」に格納した全オブジェクトのコリジョンを元に戻す。
という方法です。
dim 「当たった物一覧」,十分な値
「当たった物一覧のインデックス」=-1 ;-1にしておくのがポイント
*LoopTop
getcoliによる当たり判定をする
if 何かと当たっていたら{
当たったオブジェクトのコリジョンをはずす (setcoli OBJ,0,0)
当たったオブジェクトのIDを、「当たった物一覧」に登録
「当たった物一覧のインデックス」を+1
オブジェクトと当たったときの処理をする
goto *LoopTop
}
repeat 「当たった物一覧のインデックス」+1
「当たった物一覧」からオブジェクトのIDを取り出し、そのコリジョンを元に戻す
loop
repeatに突入したとき、何にも当たっていなければ繰り返し回数が0になるので、なにもせずにrepeatを抜けます。