BGのクリボーをSPに変換してBGを消す、なるほど、やろうとしている事が理解できました。 Iは、FOR文の前にI=0がないから、どこかで使った値が出てるんでしょうね。 でもそもそもスプライト番号は、 I=SPSET(39) のように書けば、空いているSP番号が取れますので、わざわざカウントする必要はないかも? で、IF内を7回通っているなら7匹はSPSETされているはずなので、 「?I」を「?I,X,Y」とかにしてみたら? (あとは、ここでSPCHECKERを使っても、画面外にあるのか、重なって表示されているのかなどが分かると思います)