<このスクラッチ・ワールドについて>
「マックスの世界」のテーマは、現実の世界とつながること。番組ではその例として「音量」を扱った。マイクで得られた現実の「音量」によって、パソコンの中のマックスの速さをコントロールしたんだね。実は、音だけでなく、スクラッチでは、カメラを使ったり、モーターを使って組み立てたブロックを動かしたりすることもできるんだ。プログラムはパソコンの中だけでなく、現実の世界のいろいろなものの中に仕組まれている。プログラミングは、現実世界のいろいろなものを、思い通りに動かすための手段にもなっているんだね。君だったら、プログラミングで何を動かしてみたい?
スクラッチサイトにアクセスして、サインインしよう。
(まだ自分のアカウントを作っていない人は、「スクラッチのはじめ方」にしたがってアカウントを作ってね)
why_programming_5のスタジオ(※NHKサイトをはなれます)を見てみよう。
why_programming_5のスタジオで、プロジェクト「5_1 マイクを使ってそうさ」を選び、「中を見る」、次に「リミックス」をおして、自分のアカウントにコピーしてね。
(コピーの仕方は「自分の作品を作ろう!リミックス(改造)をする」も読んでね)
まずは、プログラムを実行してみましょう。パソコンのマイクに向かって声を出して、マックスを応えんして!
うーん、張り切って始まったけど、マックスはゆっくりしか動かなくて、リンゴが落ちるところへ間に合っていないわね。
マックスのプログラムはどうなっているかしら?
左下のスプライトリストで「マックス」を選んで、スクリプトエリアを見てみましょう。
画面の端(はし)に触(ふ)れるまで
・次のコスチュームにする
・0.15秒待つ
・3歩動かす
をくり返すようになっているわね。
これじゃ、声に反応する命令がないから、いくら応えんしてもマックスは3歩ずつのゆっくりしたスピードでしか動かないわけだわ。
ここで、マイクがとらえた音の大きさを表すブロックをしょうかいするわね。
それは、水色の「調べる」の中にある「音量」ブロック。
「音量」ブロックをスクリプトエリアへ持っていく。
「音量」ブロックをクリックすると、「カメラとマイクへのアクセス」っていうパネルが出るから、ここでは緑色の「許可(きょか)」をおしてね。
コンピューターのマイクがちゃんと音をひろっているか確かめてみましょう。
「□と言う」ブロックに「音量」を入れて、「ずっと」ブロックで囲む。
そして、このかたまりをクリックすると、
ステージにいるマックスからふきだしが出て、その中に数字が表示されたかしら?
まわりが静かなら「0」と表示されてるかも。その数が、パソコンのマイクがとらえた音の大きさよ。
マイクに向かって声を出してみましょう。
声の大きさに合わせて、数が大きくなったり小さくなったりすれば、OK。
・パソコンにマイクが付いていない
・マイクの録音ボリュームが下がっている
かも知れません。大人や先生に調べてもらいましょう。
(マイクの設定 ※NHKを離れます)
では、元のマックスのプログラムを改造して、音の大きさで動くきょりが変わるようにしていこう。
ブロックパレットで、緑色の「演算」の中の「○ + ○」ブロックを「3歩動かす」の中に置いて。
そして、「(3) + (音量) 歩動かす」となるようにする。
「演算(えんざん)」というのは、足し算、引き算、かけ算、割り算などの計算のことよ。
ここでは、
・応えんの声がない時は、声の大きさが0だから、
「3 + 0」で3歩動かす
・応えんの声の大きさが50の時は、
「3 + 50」で53歩動かす
・もっと声が大きくて100の時は、
「3 + 100」で一気に103歩動かす
という命令になるの。
では、プログラムを実行!スタートしたら、マイクに向かって応えんしてね。
どうだった?
声が大きいとマックスの動きが速すぎて、リンゴを一気に通り過ぎてしまったかも知れないわね。
演算ブロックの○の中には、また演算ブロックを入れることができるの。これを使って、音量を半分にするように変えてみましょう。
音量の数を半分にするには、
・割り算なら…(音量) ÷ 2
(÷はスラッシュ記号「/」で表す)
・かけ算なら…(音量)× 0.5
(×はアスタリスク記号「*」で表す)
のどちらでもいけるわね。
割り算を使って、音量を半分にするならこうね。
今度こそ、マックスにうまくリンゴを拾わせることができるかしら?実行してみて。
うまくいったかしら?
演算ブロックの○は、( )で囲んだことになるから、それぞれの○の中にまた演算ブロックを入れたときは、どこが先に計算されることになるか注意しないと思わぬ結果になることがあるわ。
例えば、こんなブロックの計算結果はいくつかな?
3かな?4かな?ブロックをクリックして確かめてみて!
今回はここまで。「クローン」や「乱数(らんすう)」は、続きのきょうざいで!
- マイクを使うと、手を使わずにそうさするプログラムもできる
- プログラミングでは、割り算はスラッシュ記号「/」、かけ算はアスタリスク記号「*」を使う
マックスがリンゴをキャッチしても自分で食べてしまわないで、ほかのリンゴも落ちてくるのを拾い続けるゲームに改造してみよう。