複数のスプライトを動かす


100 circle(7,7),7,col(9)
110 get@(0,0),16,16,(0,0)
120 sp_def 0,(0,0),16,16   今回はパターン0を全てに使います
130 dim cx(8),cy(8),cmx(8),cmy(8),cpt(8)   複数キャラの座標と移動量cmx,cmyパターンcpt
140 ec=5   キャラの数を5個にします スプライトは1~5番までを使います
150 for i=1 to ec:cy(i)=i*32:cmx(i)=i:cpt(i)=0:sp_on i,1:next
  Y座標の開始位置とXの異なる移動量を設定します 使用スプライトはONにしておきます
160 for i=1 to ec   キャラの数だけループ
170 sp_put i,(cx(i),cy(i)),cpt(i)
180 cx(i)+=cmx(i)   移動量を加算
190 if sp_out(i) then cx(i)=0   画面はみ出したら左に戻します
200 next
210 vsync
220 goto 160


sp_putを変数省略形にした場合

100 circle(7,7),7,col(9)
100 circle(7,7),7,col(9)
110 get@(0,0),16,16,(0,0)
120 sp_def 0,(0,0),16,16
130 dim cx(8),cy(8),cmx(8),cmy(8),cpt(8)
140 ec=5
140 for i=1 to ec
150 cy(i)=i*32:cmx(i)=i:cpt(i)=0:sp_on i,1
160 sp_put i,(cx(i),cy(i)),cpt(i)   はじめに一回目で使用変数を提示しておきます
170 next
180 for i=1 to ec
190 sp_put i   ループ時は省略できる (cx(i),cy(i)),cpt(i)が使用される
200 cx(i)+=cmx(i)
210 if sp_out(i) then cx(i)=0
220 next
230 vsync
240 goto 180