Scratchでキーを一瞬だけ押したつもりでも、長押しと判定されてキー入力が連続して行われてしまう場合があります。
今回はこれを防ぐ方法を解説します。
まずは問題のある例。次のスクリプトを実行してスペースキー1回だけ押すと、カウントの数字はどうなると思いますか??
1になりそうな気がしますが・・・
使用しているパソコンにもよりますが、タキザワの場合はなんと「28472」でした。
スペースキーは一瞬だけ押して離したのですが。。
人間にとっては一瞬のつもりでも、処理スピードの速いコンピューターにとっては長押しと判定されて、何度もスペースキーが押された状態となった訳です。
これを防ぐためには、つまりスペースキーが1回押されたらカウントが1だけ加算されるようにするためには、次のようにスクリプトを追加します。
スペースキーが離されるまでは、次の入力判定を行わないようにするのです。
まー、理屈通りと言えば理屈通りですね。
割と色々な場面で利用機会があるテクニックですので、こんなのあったなぁと覚えておいてください。