InDoorさんへ BUTTON()関数の戻り値はVSYNCのタイミングで更新されているため1フレームの間に別のボタンを押しても同じ値を返します。 逆に言えばVSYNC 1を入れておかないと誤動作の原因になってしまうわけです。 本来ならば押した瞬間を得られるBUTTON(2)も瞬間の判定を何回も判定行われてしまいます。