エグウェブ.JP@オンライン/WEB講座・セミナー・WEB分析

WEB分析・ホームページ・WEBサイト作成・WordPress、Googleアナリティクス、LINEスタンプ、Photshop・illustrator、Excelの講座やオンラインセミナーを開催中!

【Scratch(スクラッチ)入門】#06音量のオン・オフ(ON/OFF)機能を追加してみる

time 2020/04/26

「キャラクター(コスチューム)が歩いている時に音を鳴らす」をやりましたが、このままでは「音を出したくない」時にも音がなってしまいますので、「音量のオン・オフ」の設定を追加してみます。

音量のオン・オフ

シンプルに考えると「上矢印キーを押して音量を上げる、下矢印キーを押して音量を下げる」といった方法も考えられそうです。

上矢印キーを押す・・・音量 +10
下矢印キーを押す・・・音量 -10

これを

上矢印キーを押す・・・音量 +100
下矢印キーを押す・・・音量 -100

とすれば、100か-100なので、オンかオフか、といった切り替えにできそうな気がします。

このままでは・・・

ただし、このままではキャラクターの「上矢印キーと下矢印キー」を使うことになってしまいますので、この先、例えば「上矢印キーでジャンプ」みたいな機能を追加させる時にまずい気がするのと、キーボードをそのまま音量調整に使うのは良くない気がしますので、「音量オンオフボタン」を追加してみます。

スプライトを追加する

ボタンのようなアイコンがあるので追加してみます。

2種類のコスチューム色のボタンが追加されました。

このスプライトが押された時

ボタンを押した時にオン・オフしたいので、「このスプライトが押された時」を追加します。

この2つを、「ボタンを押すたびに切り替える」とすれば良さそうな気がします。

「次のコスチュームにする」を追加すれば、押すたびに色が変わります。

条件分岐を追加する

言語化すると、こんな感じかな?と思います。

もし「音量コスチュームがON(青色)なら、音量コスチュームを次のコスチューム【OFF(灰色)】にして音量を0」にする。「音量コスチュームがOFF(灰色)なら、音量コスチュームを次のコスチューム【ON(青色)】にして音量を100」にする。

音量が0か100か。

このままでは・・・

このままですと、スプライトを押した時に、コスチュームは変わりますが、音量が変わりません。音量が変わるのは、このスプライト(ボタン)だけです。

この場合は、例えばですが「変数」を使うことで解決できそうです。

音量オンオフ変数

例えば、

もし音量オンオフ変数=1のときは音を鳴らす。

とします。

コスチュームの名前も分かりやすいように、volume-on、volume-offと変えてみます。

音が鳴る条件を追加する

「もし音量オンオフ変数が1なら音を鳴らす」を追加してあげれば、1の時だけ音がなるということになります。

ボタンの条件を見直してみる

もし音量オンオフ変数が1なら音量オンオフ変数を0にする、音量オンオフ変数が0なら音量オンオフ変数を1にする。

としてみます。

こうすると、音量オンオフ変数は、「1」にはなりますが、「0」にはなりません。

なりませんというより、0になった後に下の条件式(もし)に入ってしまいますので、必ず最後は1になってしまいます。

このスクリプトを止める

「このスクリプトを止める」で回避してみます。

これで切り替わるようになりました!!もっと良い方法があればぜひ教えて欲しいです!!

オンオフ表示を追加する

音量がオンなのかオフなのか分かりやすいように、表示を追加してみます。

初期値を音量オフに

いきなり音が鳴り出さないように、初期値は「音量オフ」にしておきます。

|■が押された時、の後に追加しておきましょう。

もちろん、初期値を「音量オン」にしておいた方が良い場合もありますのであしからず。(ゲームが始まって音が鳴らなければまずいので・・・)このあたりは「メニュー」などを作って設定画面を追加してあげても良さそうです。

コスチュームの順番も並び替えて「音量オフ」の方を先にしておきましょう。

完成

音量のオン・オフ機能が追加されました!!

完成版はこちら

※「音量オン」になっている時は、音が鳴るので注意!!

download(ダウンロード)

プロフィール

EGUWEB

EGUWEB

【皆さまの人生に最良のファーストステップを】WEBサイトを作りたい!WEB分析を学びたいけど分からない。とりあえず色々と知りたい!皆様の悩みを解決できるように頑張ります。 [詳細]

カテゴリー