遊テックプログラミング教室

プログラミングノートNOTE

連続入力を防ぐ方法(Scratch)

問題のある例。実行したらどうなる??

Scratchでキーを一瞬だけ押したつもりでも、長押しと判定されてキー入力が連続して行われてしまう場合があります。

今回はこれを防ぐ方法を解説します。

まずは問題のある例。次のスクリプトを実行してスペースキー1回だけ押すと、カウントの数字はどうなると思いますか??

 

 

結果

 

 

1になりそうな気がしますが・・・

使用しているパソコンにもよりますが、タキザワの場合はなんと「28472」でした。

スペースキーは一瞬だけ押して離したのですが。。

人間にとっては一瞬のつもりでも、処理スピードの速いコンピューターにとっては長押しと判定されて、何度もスペースキーが押された状態となった訳です。

解決策

これを防ぐためには、つまりスペースキーが1回押されたらカウントが1だけ加算されるようにするためには、次のようにスクリプトを追加します。

スペースキーが離されるまでは、次の入力判定を行わないようにするのです。

まー、理屈通りと言えば理屈通りですね。

割と色々な場面で利用機会があるテクニックですので、こんなのあったなぁと覚えておいてください。