サウンドエフェクト(音響効果)を加える
プログラムには、バックに音楽を流すBGMや、短い効果音を加えることができます。アクションゲームのBGMや衝突音などの影響力の大きさを思い浮かべると、その重要さが納得できるでしょう。
では、スクラッチで新しいプロジェクトを作成しましょう。スクラッチを扱うときには、毎回同じ準備をします。以下はその手順です。ノートなどにメモしておきましょう
毎回の準備
- ブラウザを開いて、スクラッチのサイトにアクセスします。https://scratch.mit.edu/
- ページ右上の[サインイン]ボタンをクリックし、ユーザー名とパスワードを入力して[サインイン]ボタンをクリックします。
- サインインした画面の左上にある[作る]ボタンをクリックします。
- スクラッチのプロジェクトを作成する、最初の画面が表示されます。
詳しくは「1 スタート」の「プログラミングの開始」をご覧ください。
ここまで、新しいプロジェクトの作成方法を逐一述べてきましたが、これで最後にします。しっかりメモしておき、必要に応じて上記リンクに戻ってください。
スペースキーの押し下げでアヒルを鳴かせる
では、スペースキーを押したらアヒルが鳴くプログラムを作成してみましょう。
まずはネコのスプライトを削除して、[スプライトを選ぶ]ウィンドウ(スプライトのライブラリ)からアヒル(Duck)をプログラムに追加します。
- [スプライトリスト]にあるネコのスプライトのゴミ箱アイコンをクリックして、ネコのスプライトを削除します。
- [スプライトリスト]右下端にあるネコの影にカーソルを合わせ、表示される[虫メガネ]をクリックして、[スプライトを選ぶ]ウィンドウ(スプライトのライブラリ)を表示します。
- 検索ボックスに「Duck」と入力して、表示されたアヒルのサムネールをクリックし、アヒルのスプライトを追加します。
- [コスチューム]タブの右にある[音]タブをクリックします。ここではアヒルのスプライトが持っているアヒルの声を加工することができます。たとえば[遅く]をクリックすると、声が低くなります。音を再生するには左の再生ボタンをクリックします。
ではアヒルのスプライトにスクリプトを適用していきましょう。アヒルのスプライトに適用したいので、[スプライトリスト]でアヒルのスプライトが選ばれている必要があります。その状態で[コード]タブをクリックします。
これまではプログラムがスタートするきっかけを[緑の旗]ボタンがクリックされたタイミングにしてきましたが、今回はスペースキーにします。
- [イベント]をクリックし、[(スペース)キーが押されたとき]コードブロックをコードエリアにドラッグ&ドロップします。
- [イベント]の1つ上の[音]をクリックし、音に関係するコードブロックに移ります。
- [終わるまで(duck)の音を鳴らす]コードブロックをドラッグし、[(スペース)キーが押されたとき]の下にドロップして吸着させます。
[終わるまで(duck)の音を鳴らす]は、サウンドduckの再生が全部終わるまで、サウンドduckの再生をつづける、という意味です。スペースキーを押すとアヒルの声が再生されます。スペースキーを連続して押しても、サウンドが最後まで再生されるので、鳴き声が途中で切れるということはありません。これは、スクラッチは、アヒルの声が終わるのを待ってから、次のコードブロックに移る、ということです。
BGMを鳴らす
BGMはその役割りから言って、特定のスプライトというよりステージに適用するのが自然です。
- 画面右下端の[ステージ]領域をクリックします。
- 画面左上の[コード]タブの右の[背景]タブの右の[音]タブをクリックします。これは見かけもよく似ていますが、ステージの音を設定するタブです。ここには初めからpopという音が設定されています。再生すると分かりますが、BGMにはふさわしくない音です。
- スクラッチで用意されているサウンドが選べるウィンドウ(サウンドライブラリ)を表示する
には、画面左端の一番下にあるスピーカーのアイコンにマウスカーソルを合わせ、[虫メガネ]アイコンをクリックします。 - すると[音を選ぶ]ウィンドウ(サウンドライブラリ)が表示されます。今の場合にはBGMを選びたいので、上部のボタンから[ループ]をクリックします。ループは繰り返すという意味で、最初と最後がつながる曲として作られているので、BGMに向いています。
- 各サウンドの右上にあるスピーカーにカーソルを重ねると、サウンドが再生できます。例として[Dance Space]をクリックして追加します。[音]タブの画面右端の[pop]の下に[Dance Space]が追加され、紫色で強調表示されます。
- 画面右下の[ステージ]領域が紫色で囲まれアクティブになっていることを確認して、左上の[コード]タブをクリックします。
- [イベント]をクリックし、[緑の旗が押されたとき]コードブロックをコードエリアにドラッグ&ドロップします。
- [音]をクリックします。[終わるまで(Dance Space)の音を鳴らす]コードブロックをドラッグして、[緑の旗が押されたとき]の下にドロップします。
- ステージの上にある[緑の旗]ボタンをクリックします。[Dance Space]の音が再生されますが、1回で終わり、繰り返されません。
- 音を繰り返し再生するには、[終わるまで(Dance Space)の音を鳴らす]コードブロックを、[制御]にある[ずっと]コードブロックの中に入れる必要があります。
- ステージの上にある[緑の旗]ボタンをクリックします。すると「Dance Space」が再生されます。今度は1回だけでなく繰り返し再生されます。スペースキーを押すと、前と同じようにアヒルの声が再生されます。[ずっと]コードブロックは、その中に入れたコードブロックをずっと実行しつづけます。プログラムを停めるには、[緑の旗]ボタンの右にある赤い[停止]ボタンをクリックします。



そのためには、[終わるまで(Dance Space)の音を鳴らす]の下部をドラッグして上と切り離し、[コード]タブの[制御]をクリックし、[ずっと]ブロックをドラッグして、[緑の旗が押されたとき]の下に吸着させます。そして、[終わるまで(Dance Space)の音を鳴らす]をドラッグして[ずっと]ブロックの中のへこみに近づけます。すると、[ずっと]ブロックのへこみがグレーになるので、そのタイミングで[終わるまで(Dance Space)の音を鳴らす]をドロップします。
上記のスクリプトで行っているのは、
- [緑の旗]ボタンがクリックされたら、スクラッチは、それにつづくコードブロックを順に実行します。
- [ずっと]コードブロックがあるので、スクラッチはその中を調べます。
- 中には[終わるまで(Dance Space)の音を鳴らす]があるので、スクラッチはこれを実行します。
- Dance Spaceの1回めの再生が終わります。しかしこのコードブロックは[ずっと]ブロックの中にあるので、
スクラッチはすぐにDance Spaceの2回めの再生を始めます。 - 2回めの再生が終わったら、同様にすぐ3回めの再生を始めます。スクラッチはこれを、[停止]ボタンがクリックされるまで、ずっとつづけます。
ということです。スクリプトをこのように、分かりやすい日本語に置き換えて書いてみると理解が深まります。