(6)M5GOとUIFlowでプログラミング - 反復
さて、今度は以下のようにブロックを配置してみましょう。
スピーカーを操作するブロックはブロックツールボックスの「ハードウェア」の中にあります。
「Run」で実行すると、音が鳴るはずです。
このプログラムは、
(5)でやったように、「Setup」
のあとに、「スピーカーを高さLowAで1拍鳴らす」
ブロックを実行しているわけです。
ただ、プログラムは、ここで終了してしまいます。
世の中にあるプログラムの多くは、終了することなく、動き続けるものがほとんどです。(例外もあります)
スピーカーを鳴らし続けるためには、「イベント」の中にある「ずっと」ブロックを使用します。
「ずっと」ブロックは「ずっと」ブロックの中にある処理を順に実行していって終わりまでくると「ずっと」ブロックの先頭の処理に戻って、文字通り「ずっと」実行してくれます。
このように変更してプログラムを転送すると、
今度は、「ブーーーーーーーー」と鳴り続けるようになります。
うるさいので、止めたいときは、スピーカーを鳴らすブロックをずっとの中から外して無効化し、プログラムを転送してください。
これでは、「1拍鳴らす」というところがよくわからないので、「1秒停止」ブロックを入れるときちんと1拍鳴っていることが分かると思います。
うるさければ、音量を下げるブロックを使用してもよいでしょう。
音量の数値は、公式のドキュメントでは、0-100になっていますが、どうも、違うようです。
1から2にした場合、多少大きくなっているようには感じますが、あまり違うように聞こえません。0~1の間で小数点を含むように設定すると明らかに大きさが変わるので、おそらくそちらが正しいのでは…?と思っています。