【Scratch入門】Scratchで簡単なカウントダウンタイマーを作る
※ 当ページには【広告/PR】を含む場合があります。
2021/03/20
2022/07/21
公開されているリミックスしたプロジェクトからScratchのプログラミングを学習してみるコーナーです。 今回はカウントダウンタイマーの作り方のポイントを解説していきます。
なお、リミックスするやり方に関しては以下の記事を参照ください。
カウントダウン・タイマーのプログラム例
今回は
(※注) なお、タイマーがゼロになると、パソコンのスピーカー設定によっては
このプログラムですが、スタートしてほぼ3分後にブザーがなるだけの簡単なタイマー・アプリです。
タイマーの作り方
ではこのプログラムの中身を解説していきましょう。
スプライトは主に3つでタイマーが構成されています。

これらのスプライトはそれぞれ、
分
秒 十の位
秒 一の位
コスチューム画像を見ていくと、
分
秒 十の位
秒 一の位
分のスプライト
まずは分のスプライトのブロックコードに着目します。

上の図は分のスプライトの中身を少し整理したものです。
まず①の部分ですが、これは初期値の設定を行っているブロックです。 プログラムがスタートした(
🚩
次に②の部分がこのスプライトの処理ループになっています。
このループは実際プログラムの終了を呼び出すだけで、他は何もしていないブロックです。
コスチューム番号が4
秒の十の位のコスチューム#(番号)が1(番目)
秒の一の位のコスチューム#(番号)が1(番目)
おわり
③の部分では、
分
3 > 2 > 1 > 0
④の部分ですが、これは
おわり
秒の十の位のスプライト
秒のスプライトは2つありますのでまずは十の位のほうを見ていきます。

先ほどと同様で、①の部分でコスチュームの種類と文字を描画する位置の初期化を行っています。 このときの
コスチューム0
②はこのスプライトのループ処理で
コスチュームの番号 = 2(番目)
秒 一の位のコスチューム#(番号) = 2(番目)
分
分
またループの中で
30秒
③は
十の位
④は先ほどと同様に
おわり
秒の一の位のスプライト
最後に秒の一の位のスプライトの実装を見てみます。

①は初期化の処理で、スプライトを描画する位置とコスチューム(数字のゼロ)にしています。
このプログラムのもっとも重要ともいえる
タイマー
まずスタートしてから最初の1秒を待って、タイマーのループに入っています。 このループではまず秒の一の位のコスチュームを変えてから、
0.992秒
残りの
0.008
どのくらい描画処理が遅延するかは、プログラムを実行するユーザーのデバイスにも依るので、一概にループ時間を何秒に設定するのが良いとは言えませんが、このプログラムの説明書きにも「ほぼ3分」と言われているのがこのプログラム部分のことを指していると思われます。
さて、タイマー部分とは別にもう一つ③の部分にこのスプライトの処理も書かれています。 これは
コスチュームの番目 = 2
十の位
④は上と同じで、
おわり
まとめ
以上、カウントダウン式のタイマーの簡潔なプログラミングレシピでしたが、いかがだったでしょうか。
カウントダウンする時間は一定のため実用性の幅は限られますが、アイデア次第では今回のようにシンプルながら面白いプログラムになっていると思います。
このテクニックを使えば、時間切れで終了となるゲームにも応用できそうです。