最終更新日 2025年5月6日 by toytune
スクラッチはアメリカの大学、MIT(マサチューセッツ工科大学)メディアラボで開発されたビジュアルプログラミング言語です。
はじめに
プログラミングでは「変数」というものを使います。これはざっくり言うと「文字や数値などを入れておける箱」のようなものです。この「変数」の中身は、自由に書き換えることができるので、たとえば「ゲームのスコア」や「HP(ヒットポイント)」などを管理するのに使われます。
また、条件分岐と組み合わせれば、「変数」の値によって表示を変えたり、イベントを発生させたりすることもできます。
「変数」についての基本的な使い方は、以下の記事でも紹介していますが、今回はこの「変数」を使って、時間の経過にあわせてカウントアップ(加算)やカウントダウン(減算)するプログラムを作ってみましょう。
手動でのカウントアップやカウントダウンの方法について知りたい方は、こちらの記事をご覧ください。
▼ 今回作成するプログラム(の旗をクリックして動作を確認することができます)
タイマーでカウントアップするプログラムを作ろう
まずは時間の経過にあわせて「カウント」していくプログラムを作ります。
先ず起点となる「が押されたとき」のコードブロックをドラッグします。

処理自体はずっと続けたいので、下に「ずっと」のコードブロックをドラッグしくっつけます。

「変数」を追加していきます。コードブロックの中の「変数」のボタンをクリックします。

「変数」を作るモーダルが表示されます。
「新しい変数名」にはわかりやすい名前として、今回は「カウント」と入力します。今回の「変数」はすべてのスプライトで使うので「すべてのスプライト用」をクリックで選択します。できたら最後に右下の「OK」のボタンをクリックします。

これで「カウント」という「変数」が追加され、ステージにもカウントが表示されました。

プログラムが始まったときの「カウント」の状態は「0」にしたいので、「カウントを0にする」のブロックをドラッグし、「が押されたとき」のコードブロックの下に入れます。

今回、時間の経過で「1秒待つ」を「ずっと」の中に入れます。
これで「1秒待つ」の下に何かしらのコードブロックを入れると、1秒毎に繰り返されるプログラムのできあがります。

今回は「カウント」の「変数」を1ずつ変えていきたいので、
「カウントを1ずつ変えるのブロックをドラッグし、「1秒待つ」の下にくっつけます。

これでカウントされるプログラムは完成です。ステージで動作を確認してみましょう。
ステージのをクリックします。1秒経過したらカウントが1つずつ増えていきます。

タイマーでカウントダウンするプログラムを作ろう
今度は、カウントダウン(数を減らしていく)プログラムを作ってみます。先ほど作ったコードをそのまま活用できるので、「複製」機能を使って効率よく作っていきましょう。
複製する方法は、複製したい先頭のコードブロックを右クリックして「複製」をクリックすることで複製ができます。
今回は、「が押されたとき」のコードブロックを右クリックして、「複製」をクリックします。

複製したものを配置するには、空いているスペースをクリックすることで複製したものを配置します。下記の図では右側のスペースに配置しました。

カウントダウン用の変数を作りますので、「変数を作る」をクリックします。

カウントのときと同じくモーダルが表示されます。
新しい変数名にはわかりやすく「カウントダウン」という名前をつけます。
同じく「すべてのスプライト用」をクリックで選択し、できたら右下の「OK」をクリックします。

では、複製した方のコードブロックの「変数」を新しく作成した「カウントダウン」の「変数」に置き換えていきます。
「カウントを0にする」の「カウント」をクリックし「カウントダウン」をクリックで選択します。

「カウントを1ずつ変える」のところも同じく「カウント」をクリックし、「カウントダウン」をクリックで選択します。

「0」の状態からカウントダウンすると、いきなりマイナスになるので、今回はわかりやすく「10」に変更したいと思います。「カントダウンを0にする」の「0」を「10」に変更します。
最後に「カウントダウンを1ずつ変える」の「1」を「-1」に変更し、カウントダウンするように変更します。

動作確認をしてみます。をクリックします。
「カウント」の方は1秒毎にカウントが1ずつ増えていき、「カウントダウン」は1秒毎にカウントが1ずつ減っていきます。

まとめ
今回のポイントをふりかえりましょう。
- 「ずっと」の中に「1 秒待つ」を入れることで、時間の経過を使った繰り返し処理ができる
- 「変数」を使えば、カウントやカウントダウンの値を記録・表示できる
- 同じようなコード構成は「複製」機能で効率よく再利用できる
また、「1 秒待つ」の数値を変更することで、たとえば「0.5」にすれば0.5秒ごと、「10」にすれば10秒ごとの処理も可能になります。いろいろ試して、使い分けてみてください。






