長いスクリプトすいませんが。。。
screen 0,320,320 buffer 1,256,256 gsel 1 cls gsel 0 dim mox,4 : dim moy,4 mox.0=-1 : moy.0=0 mox.1=0 : moy.1=-1 mox.2=1 : moy.2=0 mox.3=0 : moy.3=1 dim walk,16 dup cx,walk.0 //X座標 dup cy,walk.1 //Y座標 dup dir,walk.2 //方向 dup anm,walk.3 //アニメ番号 dup mov,walk.4 //移動中フラグ dup spd,walk.5 //歩行スピード dup dox,walk.6 //一時移動ドット量 dup doy,walk.7 //一時移動ドット量 cx=5 : cy=2 dir=0 : anm=0 mov=0 : spd=2 *mainloop redraw 0 color boxf key=0 gosub *keypush gosub *move pos mx,my gcopy 1,,,256,256 gosub *chara redraw await 10 goto *mainloop *keypush stick key,15 if mov!1{ if key&1{ dir=0 dox=-15 cx+=mox.dir } if key&2{ dir=1 doy=-15 cy+=moy.dir } if key&4{ dir=2 dox=15 cx+=mox.dir } if key&8{ dir=3 doy=15 cy+=moy.dir } if key>0 : mov=1 } return *move if mov=1 { dox-=spd*mox.dir doy-=spd*moy.dir switch dir case 0 if dox>0 : mov=0 swbreak case 1 if doy>0 : mov=0 swbreak case 2 if dox<0 : mov=0 swbreak case 3 if doy<0 : mov=0 swend mx=152-cx*16+dox my=152-cy*16+doy } return *chara pos 152,152 mes "●" return
実行してみるとわかると思うのですが
斜め移動をしたときカックンカックンしてしまうのですが
これを回避する方法を教えていただけないでしょうか。
よろしくお願いします。