8方向のアクションゲームを作っています。
下記のスクリプトは、「矢印キーで移動」「スペースキーでアクション(色が変わるだけ)」
という単純な雛形です。
移動は問題なくできるものの、そこにアクションを加えると特定の方向が反応しません。
「右上」「右下」の二つの斜め方向です。
アクションキーの対象を変えてみたりして試したところ、今度は別の方向が反応しなくなります。
何か間違った部分があるのでしょうか?
screen 0,256,224 myx=120 : myy=100 //自キャラの座標 *Main redraw 0 color 0,0,0 boxf 0,0,256,224 //背景 if ac=0 : color 255,255,255 if ac=1 { color 100,100,100 : ac=0 } pos myx,myy mes "●" //自キャラ redraw 1 await 10 gosub *act gosub *key gosub *kabe goto *Main *act //何かのアクション if ac=0 { stick ky,16 //スペースキー if ky=16 { ac=1 : return } return } return *key //自キャラの移動 stick ky,1 //← if ky&1 : myx- stick ky,4 //→ if ky&4 : myx+ stick ky,2 //↑ if ky&2 : myy- stick ky,8 //↓ if ky&8 : myy+ return *kabe if myx>242 : myx=242 if myx<0 : myx=0 if myy>208 : myy=208 if myy<0 : myy=0 return