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)は同じく右下の座標となります。
|