micro:bit 処理中に押されるボタンに反応しない
最初の一歩
ボタンが押されたときに処理をさせたい場合、ふつうは「ボタンが押されたとき」のハンドラに処理を書くと思います。
ところがその処理に、ある程度時間がかかる処理を書いていると、ボタンが押されたことが蓄積してしまいます。
処理中にボタンが押されると、今行なっている処理が終わったあと、処理中に押されたボタンに反応し、すぐさままた同じ処理が始まってしまいます。
これは、イベントがキューイングされていると考えられます。ちなみに、2回押すと2回、3回押すと3回、同じ処理が繰り返されます。
先に公開した「最初の一歩」は、そのようになっていました。
最初の一歩
https://makecode.microbit.org/_5dzTAg4WHVWr
「最初の一歩」はAボタンでスタートさせると、LEDの点灯(輪)が広がってゆき、やがて全体が点滅します。点滅が始またったあと、ゆさぶるとLEDは消え、処理は終了というものです。
処理が行なわれている途中、すなわちLEDが点灯、点滅しているあいだに、何回もAボタンを押すと、その押した数だけ、処理が繰り返されます。
処理中に押されるボタンに反応しない
ここから先は
491字
¥ 150
この記事が気に入ったらチップで応援してみませんか?