スカスカになる原因
48行目で、BGの続きを描く条件 SX MOD 16==0 がよくないです。移動量が1よりも大きい場合、16で割った余りが0にならないことがあります。
ぶっちゃけ、今は処理に余裕があり、BGPUTはとても速いので、このIFは無くても問題ありません。
もし無駄な BGPUT を省きたい場合は、48行目を消してこんな感じにします。
MAPX=FLOOR(SX/16) ' マップのマス目
IF MAPX!=OLDMAPX THEN ' 前とマス目が違う
OLDMAPX=MAPX ' 今のマス目を「前のマス目」にする
あとは49行目以降と同じでBGを描きます
左に進めない原因
SXがマイナスになったとき、エラーの出ている53行目でXもマイナスになるからです。対処方法は根本的に作りを変えるしかないかな…
0そうだね プレイ済み