ソース落としてみてみました。 とりあえずブルブルしてしまう理由ですが、アナログスティックの入力を受け取る「STICK OUT X,Y」の値が0にならないため、アナログスティックを触っていないときもIF文の後ろのSPANIMが実行されてしまうからだと思います。 デバッグ情報として 「LOCATE 0,0:PRINT "AY=";AY;",Y=";Y」 をGOTO :AAの上に書いてみるとどんな値がきているかわかるようになります。 もうひとつ根本の問題としてキー入力からリアルタイムに変更する移動処理をSPANIMで書いているからブルブルしてしまうのだと思います。 単純に 「IF Y<-0.5 THEN AY=AY+1 SPOFS 0,AX,AY IF Y>0.5 THEN AY=AY-1 SPOFS 0,AX,AY」 で良いのではないでしょうか。