BGGETの式としては正しいですが、取得できるのはアトリビュート込みの値ですので注意です。
奥、というのはその移動をさせない、という意味でしょうか?
移動予定の座標を先に判定をして、移動可能なら実際にその座標に移動させます。
XX=0:YY=0
IF BUTTON(0)==#UP THEN YY=-2
~略(4方向処理)~
IF (BGGET(0,X+XX,Y+YY,1) AND &H999)==0 THEN X=X+XX:Y=Y+YY
SPSET 0,X,Y
みたいな感じで。
実際はキャラのサイズが16x16などの大きさなのに対して、BGGETは1ドットでしか判定しないので、キャラの4隅で4回判定するなどの処理が必要な場合が多いですが。
1そうだね プレイ済み