次がそのプログラムです。
buffer 1 ;キャラ隠れ図
picload "chardata.bmp"
buffer 2 ;背景
picload "fuji.jpg"
screen 0,480,320 ;表示スクリーン
gmode 2 ;透過処理
*Loop1
redraw 0
pos 0,0
gcopy 2,0,0,480,320
if Tgtime=0 { ;敵の出現
Tgtime=20
Tgnum=rnd(6)
}
else {
if Tgnum<3 {
pos 80,80
gcopy 1,384+Tgnum*64*64,384,64,192
}
else {
pos 336,80
gcopy 1,384*(Tgnum-3)*64,384,64,192
}
Tgtime=Tgtime-1
}
stick Key,15 ;キーゲット
pos 145,75
if (Key&1)=1 or (Key&4)=4 {
if (Key&1)=1 {Px=0 :Tg=1}
if (Key&5)=4 {Px=192 :Tg=4}
Py=192
if (Key&2)=2 {Py=0 :Tg=Tg-1}
if (Key&8)=8 {Py=384 :Tg=Tg+1}
gcopy 1,Px,Py,192,192
if Tg=tgnum { ;攻撃成功
Tgtime=0
}
}
else {
gcopy 1,384,192*(Anime/8),192,192
}
Anme=(Anime+1)\16
redraw 1
wait 5
goto *Loop1
if (Key&1)=1 or (Key&4)=4 {
if (Key&1)=1 {Px=0 :Tg=1}
if (Key&4)=4 {Px=192 :Tg=4}
Py=192
if (Key&2)=2 {Py=0 :Tg=Tg-1}
if (Key&8)=8 {Py=384 :Tg=Tg+1}
質問1:HSPについてまだよく理解できていないのですごく初歩的な質問なのですが、
「{Px=0 :Tg=1}」という記述では、Px=0とTg=1の両方の代入が実行されるのですか?
質問2:PxとPyとTgという変数が何を表しているのかよくわかりません。
←を押したらキャラクターが左攻撃の画像に切り替わり、←と↑を同時押したら、
キャラクターが、左上攻撃の画像に切り替わるようです。
また、Pxには0か192を代入していますがなぜ0と192なのでしょうか?
また、Pyには192が代入されて、↑か↓が押されたら0か384を代入していますが
何故この値を代入するのかよくわかりません。
Tgも何故加減算したり、1か4を代入するのかわかりません。
よろしくお願いします。