Unity入門講座|マウスクリックで音を鳴らす方法を学ぼう

Unity
うさタブ
うさタブ

今回はUnityのマウスクリックで音を鳴らすについて勉強するッピ!

うさタブ
うさタブ

マウスを押すとサウンド再生される仕組みをつくるッピ!

ユウキ
ユウキ

マウスクリックとサウンド再生

アイカ
アイカ

まだ習ったことないわ!

うさタブ
うさタブ

マウス操作とサウンド再生はUnityの基礎基礎ッピ!
絶対覚えておくと良いッピ!

うさタブ
うさタブ

これからこのマウス操作とサウンド再生を一緒に勉強して行くッピよ~

スポンサーリンク
スポンサーリンク

マウスクリックで音を鳴らす方法を学ぼう

動画解説

必要なもの

うさタブ
うさタブ

まずは必要なものを用意するッピ!

  • Unity
  • Windows または Mac のパソコン

が必要ッピよ~!

うさタブ
うさタブ

まだ Unity をダウンロードしてない人は

↓ の記事を参考に必要なものをインストールするといいッピ!

Unityを起動する

うさタブ
うさタブ

まずはゲーム作成画面をつくってみるッピ!

Unity-Hubを立ち上げて、

2Dまたは3Dでプロジェクトをつくるッピよ~

ユウキ
ユウキ

できた!

うさタブ
うさタブ

いい感じッピ!

音声ファイルを用意しよう!

うさタブ
うさタブ

それじゃあ、さっそく音声をUnityで再生するっぴ!

うさタブ
うさタブ

・・・その前に、再生する音声が必要だっぴよ~

効果音ラボ様
うさタブ
うさタブ

今回は効果音ラボさまで、好きな音声をお借りするッピ!

ユウキ
ユウキ

オッケー!

音声をAssetsに登録しよう

うさタブ
うさタブ

準備できたッピか?
それなら音声をAssetsに登録するッピ!

うさタブ
うさタブ

使いたい音声を、ドラッグ&ドロップでアセットの部分に登録するッピ!

ユウキ
ユウキ

ドラッグ&ドロップってなんだ??

アイカ
アイカ

たしか、

ファイルをマウスで選択したまま

ファイルを移動する方法をドラッグ&ドロップっていうんじゃなかったかしら?

ユウキ
ユウキ

そうだったそうだった!

別のウィンドウからファイルを引っ張ってもってくれば良いんだな!?

アイカ
アイカ

こんな感じかしら?

うさタブ
うさタブ

いい感じだっぴ!

2人ともよく出来てるッピ♪

空のオブジェクトをつくる

うさタブ
うさタブ

まずは空のオブジェクトをつくるッピ!

うさタブ
うさタブ

やり方は

ヒエラルキー→右クリック空のオブジェクト

で作成するッピ!

ユウキ
ユウキ

これでいいか?

アイカ
アイカ

すてきねっ!

ゲームオブジェクトに音声を登録する

うさタブ
うさタブ

作ったオブジェクトに

鳴らしたい音声をドラッグ&ドロップで登録するッピ!

アイカ
アイカ

またマウスでファイルを引っ張ってくるのね♪

ユウキ
ユウキ

登録できたかは、

右側のインスペクターで確認できるんだよな?

うさタブ
うさタブ

その通りッピ♪
ユウキくん、だんだんなれてきたッピね~!

C#スクリプトを作成する

うさタブ
うさタブ

次からプログラムを組んでいくッピよ~!

うさタブ
うさタブ

まずは画面下のAssetの部分で

右クリック→作成→C#スクリプト

を選択するッピ!

うさタブ
うさタブ

名前を

sound

に変更するッピよ~

アイカ
アイカ

できたわ!

プログラムを編集する

うさタブ
うさタブ

できたC#プログラム

ダブルクリックして、スクリプトファイルを開くッピ!

うさタブ
うさタブ

もともと書かれている

1~2、7・13~17行目のプログラムを削除して、新しくプログラムを書いていくッピ~!

ユウキ
ユウキ

消しちゃっていいのか?

うさタブ
うさタブ

大丈夫だッピ~♪

このうさタブに任せるッピ!

using UnityEngine;

public class sound : MonoBehaviour
{
     void Update()
    {
         //ここに新しいプログラムを入力
    }
}
アイカ
アイカ

こんな感じで良いのかしら?

うさタブ
うさタブ

バッチリッピよ~!
アイカちゃん才能あるッピね♪

うさタブ
うさタブ

ちなみにこのプログラムは

using使います UnityEngineユニティエンジンの機能を;

public呼び出し可能 class クラスです sound 名前はsound : MonoBehaviourユニティの親クラスです
{
 
void引数なしプログラム Update() 随時更新します
{
//ここに新しいプログラムを入力
}

}

という意味になるッピ!

新たにプログラムを書き込む

うさタブ
うさタブ

void Update の中に、新しくプログラムを書いていくッピ!

if(Input.GetMouseButtonDown(0))
   {
    GetComponent<AudioSource>().Play(); 
   }

と書き込むッピよ~

うさタブ
うさタブ

ちなみにこれは

ifもしも (Input入力があったら.GetMouseButton マウスが押されたらプログラム実行(0 左ボタンを ))
{
 
GetComponentコンポーネント(情報)を取得<AudioSourceオーディオソースの音を>().Play()音をならして;
}

という意味になるッピ!

ユウキ
ユウキ

なるほど、こういう意味だったのか!

using UnityEngine;

public class sound : MonoBehaviour
{
     void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            GetComponent<AudioSource>().Play(); 
        }
    }
}
うさタブ
うさタブ

プログラムができたら、

ファイル→保存(Ctrl+S)

でセーブするッピよ~

オブジェクトにプログラムを組み込む

うさタブ
うさタブ

保存したプログラムを、オブジェクトに組み込んでいくッピ!

うさタブ
うさタブ

[sound]C#スクリプトを

GameObjectドラッグ&ドロップするッピ~

うさタブ
うさタブ

右のインスペクターに

Sound(スクリプト)

があることを確認するッピ!

アイカ
アイカ

できたわ!

ユウキ
ユウキ

やったなアイカちゃん!

うさタブ
うさタブ

いい感じッピ!

動作確認

うさタブ
うさタブ

最後は動作確認ッピ~!
ゲームの上にある[▶]ボタンを押してゲームを開始するッピ!

ユウキ
ユウキ

できた~!

アイカ
アイカ

やったねユウキくんっ

Unityのマウス入力について

うさタブ
うさタブ

Unityのマウス入力には、

Inputメッソドを使うッピ!

プログラムメッソド発動条件
Input.GetMouseButtonボタンが押されていたら発動
Input.GetMouseButtonDownボタンが押された瞬間に発動
Input.GetMouseButtonUp押されたボタンが開放されたときに発動
ユウキ
ユウキ

インプットメッソド~?

って何だ?

うさタブ
うさタブ

インプットメッソドというのは、

マウスキーボードなど、外部から入力があったときに

発動するプログラムをつくるときに使うものッピ!

アイカ
アイカ

そうなのね!

うさタブ
うさタブ

そしてマウスのInputメッソドは

Input.GetMouseButton

をつかうことが多いッピね~

ユウキ
ユウキ

なあ、うさタブ

using UnityEngine;

public class sound : MonoBehaviour
{
     void Update()
    {
        if(Input.GetMouseButtonDown(0)) 
        {
            GetComponent<AudioSource>().Play(); 
        }
    }
}
ユウキ
ユウキ

じゃあこの、

Input.GetMouseButton(0)

(0)ってなんだ??

ユウキ
ユウキ

なんで(0)なのか、理解できないんだけど・・・

うさタブ
うさタブ

それはズバリ

引数ッピね~!

ユウキ
ユウキ

引数~??

アイカ
アイカ

引数ってなんだったかしら・・・?

わたしまだ覚えてなくて

うさタブ
うさタブ

引数というのは、
プログラムが予め仕組んだ、分かれ道条件のことだっピ!

うさタブ
うさタブ

if~~●●(分かれ道の条件
{ プログラムの命令文 }

みたいなとき、
実際にその分かれ道の条件が満たされるもの変数
仕込むことができるのが引数なんだッピ!

アイカ
アイカ

ど、どういうことかしら・・・?

ユウキ
ユウキ

むずかしくてワカンネーって

うさタブ!

うさタブ
うさタブ

つまり今回みたいな

(0)なら、マウスの左クリック
マウスの左を押したら発動するプログラム

というのを組むことができるんだッピ!

引数対応するマウスの場所
(0)マウスの左ボタン
(1)マウスの右ボタン
(2)マウスのホイール
ユウキ
ユウキ

わかった!

0が左クリック、1が右クリックみたいな感じになるのか!

うさタブ
うさタブ

その通りッピ!

つまりさっきのコードも、0から1に変えると、

枝分かれの条件が右クリックを押したら~に変わってしまうんだッピよ~

using UnityEngine;

public class sound : MonoBehaviour
{
     void Update()
    {
        if(Input.GetMouseButtonDown(1)) // 右クリックされたら実行するプログラムです
        {
            GetComponent<AudioSource>().Play(); 
        }
    }
}
ユウキ
ユウキ

なるほどなー

アイカ
アイカ

勉強になったわっ!

学習のまとめ
  • Assetsに音声ファイルを登録する
  • ヒエラルキーから空のオブジェクトを作成する
  • 空のオブジェクトに音声をドラッグ&ドロップで登録
  • 音を鳴らすC#スクリプトを作成
  • できたスクリプト空のオブジェクトに登録
  • テストプレイ

うさタブ
うさタブ

上手くできたッピか?

これからも色んなゲーム作りやプログラムの解説をしていくッピ!

次回も楽しみにしているッピよ~~!

うさタブ
うさタブ

UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪

スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うさタブ!

オレ、もっと本格的にゲームが作りたいんだ

アイカ
アイカ

私もだわ!

もっとたくさん実用的なコードを

学ぶことってできないかしら?

うさタブ
うさタブ

おお、2人ともやる気ッピね!

ゲームの作り方を学ぶなら、コレとかどうッピか?


うさタブ
うさタブ
Udemy」テレビでも有名な動画教材
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

2DアクションRPG脱出ゲーム

3Dゲーム制作講座まで

買い切り講座だからいつでも勉強し放題ッピよ~!

ユウキ
ユウキ

お!いいじゃん!

アイカ
アイカ

あと、どこか素敵な素材を売っているところはないかしら? 公式の素材販売だと、クレカ支払いしかなくて・・・

ユウキ
ユウキ

小学生じゃクレカで支払えないぜ~

うさタブ
うさタブ

ゲームの素材を買いたいなら、

DLsiteBoothとかどうッピか?

うさタブ
うさタブ

素敵なドット絵や音楽素材がいっぱい売ってるッピ!

うさタブ
うさタブ

しかもUnityアセットストアと違って

クレカ支払いじゃなく、コンビニ支払いができるのもポイントッピ!

ユウキ
ユウキ

すげーカッコいい素材がいっぱいある!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

スポンサーリンク
Unityプログラミング動画付き
学んで遊んでジャンケンポン!
タイトルとURLをコピーしました