Scratchは、子供から大人まで楽しめるビジュアルプログラミング環境です。その中でも「調べる」カテゴリにある 「タイマー」 ブロックは、時間に関する制御を簡単に行うことができます。今回は、この「タイマー」ブロックを使った基本的なプログラムと、応用的なプログラムの2つを紹介します。
1. 基本編:タイマーでスプライトの動きを制御する
まずは、タイマーを使ってスプライトの動きを一定時間後に止めるプログラムを作成してみましょう。
スクリプト
when green flag clicked
reset timer
repeat until <(timer) > 5>
move 10 steps
wait 0.5 seconds
end
say [5秒経過しました!]

解説
reset timer
:タイマーをリセットして0にします。repeat until <(timer) > 5>
:タイマーが5秒を超えるまで、内部の処理を繰り返します。move 10 steps
:スプライトを10ステップ前進させます。wait 0.5 seconds
:0.5秒待機します。say [5秒経過しました!]
:5秒経過後にメッセージを表示します。
実行結果
このプログラムを実行すると、スプライトは0.5秒ごとに10ステップ前進し、5秒経過すると動きを止めて「5秒経過しました!」と表示します。
2. 発展編:タイマーを使った簡易ストップウォッチ
次に、タイマーと変数を組み合わせて、簡単なストップウォッチを作成してみましょう。
スクリプト
when green flag clicked
reset timer
set [経過時間 v] to [0]
forever
set [経過時間 v] to (timer)
wait 0.1 seconds
end

解説
set [経過時間 v] to [0]
:「経過時間」という変数を0に初期化します。forever
:無限ループを開始します。set [経過時間 v] to (timer)
:タイマーの値を「経過時間」変数に代入します。wait 0.1 seconds
:0.1秒待機して、表示の更新頻度を調整します。
実行結果
このプログラムを実行すると、画面上に「経過時間」変数が表示され、タイマーの値がリアルタイムで更新されます。これにより、簡易的なストップウォッチとして機能します。
まとめ
「タイマー」ブロックは、ゲームやアニメーションで時間制御を行う際に非常に便利な機能です。基本的な使い方から応用まで、さまざまな場面で活用できます。ぜひ、自分のプロジェクトで試してみてください。