いろいろまご意見ありがとうございます。
ちなみに、問題の発生しているスクリプトは
title"ゆか、かべtest"
buffer 1
picload "デバッグ用map.jpg";問題あり
screen 0
;自分の座標
ten=0
fall=0
wallhitl=0
wallhitr=0
←=0
→=0
↑=0
rval=0
bval=0
gval=0
charasize=32
x=10
y=300
mx=2
my=2
hantex=0
hantey=0
repeat
cls
pos 0,0
gcopy 1,0,0,600,600
title""+ten+","+fall+","+wallhitl+","+wallhitr
pos x,y
color 0,0,0
font "MSゴシック",charasize
mes "●"
getkey ←,37
getkey →,39
getkey ↑,38
;同時入力防止
if →=1 and ←=1{→=0:←=0}
;判定処理
if ten=1{↑=0};ここはあとで変える
if wallhitl=1{←=0}
if wallhitr=1{→=0}
if →=1{x=x+mx}
if ←=1{x=x-mx}
if ↑=1{y=y-my:fall=0}
if fall=1{y=y+my}
;判定初期化
→=0
←=0
↑=0
ten=0
fall=1
wallhitl=0
wallhitr=0
;ここから床、壁判定(wallhitは壁、tenは天井の、fallは1で空中)
;黒
hantex=x+charasize
hantey=y+charasize;した
hantey0=y
hantex0=x;判定用座標
repeat 2
hantey0=hantey0+cnt-1
repeat charasize-4
pget x+cnt+2,hantey0
if (rval=0)&(bval=0)&(gval=0):ten=1
loop
loop
repeat 2
hantey=hantey-cnt+1
repeat charasize-4
pget x+cnt+2,hantey
if (rval=0)&(bval=0)&(gval=0):fall=0
loop
loop
hantex=x+charasize
hantey=y+charasize;した
hantey0=y
hantex0=x;判定用座標
repeat 2
hantex0=hantex0+cnt-1
repeat charasize-4
pget hantex0,y+cnt+2
if (rval=0)&(bval=0)&(gval=0):wallhitl=1
loop
loop
hantex=x+charasize
hantey=y+charasize;した
repeat 2
hantex=hantex-cnt+1
repeat charasize-4
pget hantex,y+cnt-2
if (rval=0)&(bval=0)&(gval=0):wallhitr=1
loop
loop
;判定位置確認用
color 255,1,0
line x-1,0,x-1,600
color 1,255,0
line hantex-1,0,hantex-1,600
color 1,0,255
line 0,y+1,700,y+1
color 150,1,0
line 0,hantey+1,700,hantey+1
await 5
loop
です。
HSP2では、ちゃんと十字キーを押したら移動できますが、
HSP3では、常に壁に当たって、天井にも当たっているうえ、落下もできない状況です。
(キャラクターの座標の周りが黒色なら当たっているという判定を使用しています。)
もしこの中にHSPのバージョンによって使用が違う命令があるのなら、
できる限り教えてもらえるとたすかります...
わかりにくくてすいません...