5.データ


 SITOのプログラムは画像を操作するのが基本なので、その対象となる画像が必要となります。
 画像はパソコンで作ってBMP2LXで変換しても良いのですが、大きな画像を扱うのは時間がかかり、重いソフトになってしまいます。先程のように小さな画像であれば扱いが楽になります。
 SITO Ver.0.12βでは、内部的に最大1画面分の画像を持ち、そこから特定の部分を切り出して表示する事ができます。この機能を用いると、print命令でファイルを読み込むよりも速く画像表示を行えます。

-------- 以下 L05.SIT 'キー入力でキャラクタを動かす 'メイン ' w:動く方向, x:表示位置X座標, y:表示位置Y座標 gmem$=L05.PCX cls w=0 x=0 y=0 LOOP: locate x,y pattern w*4,0,w*4+3,31 gosub KEYIN if a=0 then LOOP cls end 'キー入力 ' a:1=終了, b:方向保存, k:キー入力値 KEYIN: a=0 b=w J100: k=key if k=52 then KEY4 ;[4] if k=75 then KEY4 ;[←] if k=54 then KEY6 ;[6] if k=77 then KEY6 ;[→] if k=50 then KEY2 ;[2] if k=80 then KEY2 ;[↓] if k=56 then KEY8 ;[8] if k=72 then KEY8 ;[↑] if k=27 then CLOSE ;[ESC] goto J100 KEY4: w=2 if x<=0 then J120 x=x-1 J120: goto J150 KEY6: w=0 if x>=76 then J110 x=x+1 J110: goto J150 KEY2: w=1 if y>=167 then J130 y=y+8 J130: goto J150 KEY8: w=3 if y<=0 then J140 y=y-8 J140: goto J150 J150: putmode xor pattern b*4,0,b*4+3,31 putmode pset a=0 return CLOSE: a=1 ;終了 return -------- 以上 L05.SIT

 違いを分かりやすくするために、L04.SITと同じ動作のプログラムにしました。
 画像メモリへ画像を読み込むには「gmem$=ファイル名.PCX」とし、そこから読み出して表示するには「pattern X1,Y1,X2,Y2」とします。(X1,Y1)は表示範囲の左上座標、(X2,Y2)は同じく右下の座標となります。