Scratch(スクラッチ) 難易度★⭐︎⭐︎⭐︎⭐︎

Scratchで音楽! - 木琴編(初心者or親子むけ)

 

今回はScratch(スクラッチ)を使ったゲーム作りの第1弾として、木琴で音楽をかなでる方法をご紹介します。

やり方としては1つだけスプライトを作ってプログラミングしてしまえば、あとはコピペと調整だけでできてしまいます。

とっても簡単なので、スクラッチを始めたばかりの方が基本操作を学ぶのに最適です。

なおこのブログでは、作り方だけでなく考えさせる課題も織り込んでいます。

考えながらプログラミングを完成させていくことで、プログラミング的思考の基礎が身につきます。

親子でやる家庭学習にもオススメだニャア!

 

ちなみにスクラッチの始め方と基本操作についてはこちらの記事をご参照ください。

プログラミング学習はスクラッチから!だれでも簡単・使い方入門

  プログラミング学習を始める入り口として最適なScratch(スクラッチ)の始め方や基本操作を解説します。 小中学生のお子さんを持つご両親はもちろん、プログラミング初心者の方にもオススメで ...

続きを見る

それではさっそく、始めましょう。

 

スクラッチで木琴を作ろう

ここでは木琴(マリンバ)としていますが、どんな楽器にすることもできます。

まずは手順通りに進めてみて、慣れてきたら自由にカスタマイズを楽しんでみてください。

 

「ド」を奏でる鍵盤を作る

まずスクラッチを開き、スプライトを追加します。

私はある仕掛けをしたかったので、「egg」にしました。

 

今回はキーボードのAからKまでを使って音を出せるようにするので、Aのキーが押されると「ド」の音を出すようプログラムします。

 

ポイント

  • 「○キーが押されたとき」スタートするようにし「a」キーに設定

  • 「音楽」スクリプトセットを「拡張機能を追加」から追加

  • 「楽器をマリンバにする」をスクリプトに追加
  • 「60の音符を0.25拍鳴らす」をスクリプトに追加

 

ここで先ほど触れた”ある仕掛け”をしたいと思います。

ここで「egg」のコスチュームを見てみましょう。

コスチュームタブを開くと見られるニャア

 

 

「egg-a」から「egg-f」までありますが、ニャアは叩かれると割れるようにしたいので「egg-b」に変わる様にします。

 

ポイント

  • 「コスチュームをegg-bにする」をスクリプトに追加
  • 「○秒待つ」を追加し、0.25秒に設定
  • 「コスチュームをegg-aにする」をスクリプトに追加

 

Aキーを押して音がなることコスチュームが変わることを確認してください。

ここでニャアの課題です。

 

ニャアの課題①

  1. 「○秒待つ」を追加したのはナゼでしょう?
  2. 「コスチュームをegg-aにする」はなぜ必要なのでしょう?もし無かったらどうなるでしょう?

 

ちょっと考えてみましょう…!答えが見つかりましたか?

課題の答えは記事の最後にあるニャア

 

「レ」を奏でる鍵盤を作る

続いて、「レ」の鍵盤を作ります。

これは最初に作ったスプライトを「複製」すればすぐにできます。

 

ポイント

  • 「egg」のスプライトを右クリック「複製」「egg2」ができる

  • 鍵盤は全部で8つ入るようにスプライトの場所をととのえる

 

スプライトを複製(コピー)すると、スクリプトも一緒に複製されます。

しかし今のままだとegg2のスクリプトはAキーで「ド」の音が鳴るようになっているので、Aのとなりの「S」キーを押したら「レ」の音が鳴るようにしましょう。

 

ポイント

  • 「egg2」をクリックしてスクリプトを見る
  • Sキーが押されたとき」に変更する
  • 62の音符を0.25拍鳴らす」に変更する

egg2のスクリプトの変更をしたら、AとSを押してみて違いを確認しましょう。

 

「ミ」以降の鍵盤を作る

ここまでできたら、あとは簡単です!

「ミ」から先を自分で作ってみましょう。

 

ニャアの課題②

  1. 「ミ」から高い「ド」まで、ひとつずつスプライトとスクリプトを作っていきましょう。
  2. 鍵盤が8つできたら、好きな曲を弾いてみましょう。

 

ちなみにプログラムがうまく出来ていれば、↓のようにキーを押すとある曲を奏でられます。

 

弾いてみよう

A・A・G・G・H・H・G

F・F・D・D・S・S・A

G・G・F・F・D・D・S

G・G・F・F・D・D・S

A・A・G・G・H・H・G

F・F・D・D・S・S・A

 

何の曲か分かりましたか?

正解は『きらきら星』だニャア!

 

”待つ”と”初期化”の重要性

最後にニャアの課題①の答え合わせをします。こんな課題でした。

  1. 「○秒待つ」を追加したのはナゼでしょう?
  2. 「コスチュームをegg-aにする」はなぜ必要なのでしょう?

 

”待つ”を入れないと高速すぎて見えない

まず 1 の答えですが、「○秒待つ」を入れないとコスチュームが変わっても一瞬で元に戻ってしまうのがわかると思います。

これはコンピュータの処理が高速で動いているからです。

一瞬でも変化が見られるならばまだ良い方で、一瞬すら見えないこともあります。

よって「待つ」は常に入れておく習慣をつけましょう。

このスクリプトの場合「コスチュームegg-bの状態にして0.25秒待つ(保つ)」という意味になります。

ちなみにスクリプトは並べられている順番通りに動くため、上の処理が終わらないと次の処理に移行できません。

今後プログラムが複雑になってくるとそのような問題もでてくるので、「待つ」の重要性と順番通りに動くということを覚えておきましょう。

 

初期化とはなにか?

次に 2 の答えですが、コスチュームをegg-aに戻さないとすると、ずっとegg-bのままです。

するとキーを押した時にコスチュームが変わるという仕掛けが1回限りで終わってしまいます。

最初の状態に戻しておくという意味で、最後に「コスチュームをegg-aにする」を入れておく必要があるのです。

ちなみにこれも基本的な処理方法で、かなり多くの場面で使うことになると思います。

今後ゲーム作りを進めていく中で初期化にも触れるので、楽しみにしてください!

 

今回のまとめ

最後に今回学んだことをまとめておきます。

 

Scratchテクニック!

  • 拡張機能を追加するとスクリプトが増える
  • スプライトを複製するとスクリプトも一緒に複製できる
  • 「待つ」は超重要!常に意識する
  • プログラムは基本的に順番通りに動く
  • 最初の状態に戻す”初期化”も忘れない

 

ちなみに動画も作ってみたのでおさらいにどうぞ!

Scratchで作れるゲームを続々と発信していきます。

2020年度からのプログラミング必修化に向けた準備が気になる方はこちらもどうぞ。

 

 

ごきげんよう

 

-Scratch(スクラッチ), 難易度★⭐︎⭐︎⭐︎⭐︎
-

error: Content is protected !!

© 2024 ニャアのスクラッチ Powered by AFFINGER5