この記事は「音ブロックのトラブル解消法」で解決できなかった内容について書いていきます。
解決出来なかった内容
音ブロックのトラブル解消法の記事では小学一年生の男の子からの質問を解決する内容について書きましたが、「トラブル~その2~」で、流れているBGMを止めて別の効果音を鳴らす方法を不完全な形で紹介していました。
BGMを「ずっと」ブロックで囲んで鳴らすことが出来ず、「ずっと」を外してBGM分の時間制限付きの方法を記載しました( ;∀;)
アベ先生のおかげで解決
アベ先生を知らないという方のためにご紹介します。
阿部和広先生と言う方で、青山学院大学の客員教授をされています。
1980年代からプログラミングに携わっている重鎮で、Scratchの日本語版を担当されていると同時に、NHKの「Why!?プログラミング」を監修されている凄い方です。
前回の記事を投稿した後、Twitterにも掲載したところ、アベ先生から丁寧なコメントを頂戴し、無事解決に至りました。
BGMと効果音の切り替え方(完全版)
それではアベ先生からのご指導をもとにした、2パターンの切り替え方を紹介します。
どちらのやり方もBGMはステージに対して設定し、効果音はスプライトに対して設定します。
BGMを効果音の間だけ止める
上の見出しの通り、効果音の間だけ止めるので、終わったらまたBGMが流れるスクリプトです。
ステージのスクリプト
スプライトのスクリプト
音量を調整することで、音を止める発想はScratch星人にはありませんでした( ;∀;)
BGMを完全に止めて効果音を鳴らす
上記のコードからブロックを少し削るだけですが、小学一年生の男の子がやりたかったのは、こちらだったので自信を持って回答できます(*^-^*)
ステージのスクリプト
スプライトのスクリプト
はい!
「ミュート解除」に関連するブロックを全て取り除いて、BGMを停止(正確には消音)させました。
これで曲の長さに関係なく、制限なしでBGMを流せるようになりました(^_-)-☆
まとめ
今回は音ブロックを使って、BGMと効果音の切り替え方について書いてみました。
キモはBGMをステージに設定、効果音をスプライトに設定することと、音を止めるのではなく、音量を調整することでした。
Scratchは奥が深いですね!
ぜひ試してみて下さい(^_-)-☆
今回のやり方を教えて下さったアベ先生にはこの場を借りて御礼を言いたいと思います。
本当にありがとうございました(*^▽^*)
コメント