GUST NOTCH? DIARY

SPANIM

プチコンにはスプライトでアニメーションする SPANIM というコマンドがある*1。これを使うと、ほっといてもアニメーション処理をしてくれる。
たとえば、SPU3*2で定義されている248番から255番のキャラクタで爆発パターンのアニメーションをしようとした場合、以下のように書くだけでいい。


SPSET 0,248,0,0,0,0
SPOFS 0,100,100
SPANIM 0,8,5,1
これで、(100,100)の位置で一枚あたり5フレーム分表示して8枚を自動的に切り替えてくれる。
でも、これだと、最後の255番の絵が残ってしまう。結局自分でタイミングを管理して、消すなり画面外に隠すなりしなくちゃいけないのかと思っていたら、最後に空白を入れておけば自動的に見えなくなる、ということを twitter で教えてもらった。
調べたところ、CHRSET*3 を使ってスプライトのキャラを書き換えてしまえばいいようだ。
こうなる。

SP$=""
FOR I=0 TO 63
SP$=SP$+"0"
NEXT
FOR I=0 TO 3
CHRSET "SPU4",I,SP$
NEXT
SPSET 0,248,0,0,0,0
SPOFS 0,100,100
SPANIM 0,9,5,1
つまり、255番の次の256番のキャラは、SPU4の0〜3で構成されているので、これを0にしてしまう。そして、SPANIM の枚数を9にすることで、最後の空白は表示されているのだけど、表向きは見えない。
これを試してみたら、昨日の下画面に色をつく現象が顕在化した。さて、これを解決する方法を調べるか。スプライトのパレット周りだろうということは予想できる。