あ、すみません、今間違いに気付きました。
IF SPVAR(SP,0)==1 && !SPANIM(SP) THEN
↓
IF SPVAR(SP,0)==1 && !SPCHK(SP) THEN
(消滅の方も同じく)
で、
&&!ではなく、!SPCHK(SP)がセットです。
「!」は否定形で、
SPCHK(SP)だと、「SPANIMしていたら」ですが、
!SPCHK(SP)だと、「SPANIMしていなかったら」という意味です。
撃沈アニメが終わったら爆発アニメ、
爆発アニメが終わったら消滅、と順番に処理させる訳です。
以前書かれていたのはMIKIさんでしたっけ?
何となく予備知識があったので深みにはまらず回避できました。
丸めというか、10進数の桁数分、ループを回したかったんです。
FOR I=0 TO LOG(V,10)
これだと、
999・・・3回
1000・・・3回
1001・・・4回
回るので、1000の時は想定外でした。
なので今は整数限定という事にあぐらをかいて、
FOR I=0 TO LOG(V+0.1,10)
と適当に足してやっていますが、スマートじゃないですね。
10個限定でないなら、ZEXさんのソースをお借りして、
IF (MAINCNT MOD 60)==0 THEN
SPSET 0 OUT SP
SPANIM SP,"XY", 1,-16,100, -100,400,100, 0
ENDIF
とかもアリかな?
ただし、「右端までいったらSPCLRする」、というソースも別途必要になってくるので、私ならSPFUNCを使います。