button(2) であっても、値が更新されるのは「一画面書き終わった時」なので、それまでは同じ値を返します。 while 1 ? button(2),button(2) wend を実行してみてちょ。