C#スプリクトで音を出してみよう

次はスプリクトで音を出してみるッピ!

スプリクト?

さっきのやり方とは違うのかしら?

さっきはボタンから
あらかじめUnityに組み込まれたプログラムを呼び出したんだッピ~!
このプログラム自体を自分のちからでかけるようになると、
ボタンを使わなくても、いつでも好きなタイミングで音を鳴らしたりできるッピ!

それは便利ね!

さっそくやってみようぜ!
2個目のボタンをつくる


まずは2個めのボタンをつくるッピ!

やり方は前と一緒で
ヒエラルキー→右クリック→UI→ボタン
で作成するッピ!


できたボタンをダブルクリックすると、
名前が編集できるッピ♪
わかりやすく[Button2]と変更するッピよ~

右クリック→名前を編集でもできるッピ!


できた中のボタンを、
ググッっと下にドラッグすると移動できるッピ!
やってみるッピよ~


わかりにくいからこっちも名前を変えるッピ♪
右側のインスペクター→TEXT
の部分で、文章を変更できるッピ!

わかりやすく[Button2]にしておくッピ!

オッケー!
ボタンに音声を登録する


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

さっきやったからバッチリね♪


登録できたかは、
右側のインスペクターで確認できるんだよな?

その通りッピ♪
ここまではさっきと同じッピ!
C#スクリプトを作成する

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


まずは画面下のAssetの部分で
右クリック→作成→C#スクリプト
を選択するッピ!

名前を
audio
に変更するッピよ~

できたわ!
プログラムを編集する


できたC#プログラムを
ダブルクリックして、スクリプトファイルを開くッピ!


もともと書かれている
8~17行目のプログラムを削除して、新しくプログラムを書いていくッピ~!

消しちゃっていいのか?

大丈夫だッピ~♪
いっそ1~2行のプログラムも削って大丈夫ッピよ~!

using UnityEngine;
public class audio : MonoBehaviour
{
}

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

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

ちなみにこのプログラムは
using UnityEngine;
public class audio : MonoBehaviour
{
//ここに新しいプログラムを追加予定
}
という意味になるッピ!
新たにプログラムを書き込む


public class の中に、新しくプログラムを書いていくッピ!
public void sound_button()
{
GetComponent<AudioSource>().Play();
}
と書き込むッピよ~

ちなみに
public void sound_button()
{
GetComponent<AudioSource>().Play();
}
という意味になるッピ!

なるほど、こういう意味だったのか!
using UnityEngine;
public class audio : MonoBehaviour
{
public void sound_button()
{
GetComponent<AudioSource>().Play();
}
}


プログラムができたら、
ファイル→保存(Ctrl+S)
でセーブするッピよ~
ボタンにプログラムを組み込む

保存したプログラムを、ボタンに組み込んでいくッピ!


C#スクリプトを
Button2にドラッグ&ドロップするッピ~


右のインスペクターから
クリック時()→[+]
を選択するッピ!

できたわ!


いい感じッピ!
次は、クリック時()の下、
なし(オブジェクト)
にButton2をドラッグ&ドロップするッピよ~


うまくできやぜ!

いい感じッピ!
No functionにスプリクトのプログラムを選択

仕上げに、
No Function
の▼をクリックして
audio→sound_button
を選択するッピ!


こんな感じかしら?


いい感じッピ!
最後に、インスペクターのイメージをイジって色を変更して見るッピ!


おお! 色が変わった!

これでわかりやすくなったッピ!
最後は[▶]でテストプレイをするッピよ~


よっしゃ! 成功だなっ

やったねっ♪
学習のまとめ
- ヒエラルキーからUI、ボタンでボタンを作成する
- ドラッグ&ドロップで音声ファイルをアセットに登録
- 音声ファイルをボタンにドラッグして登録する
- Assetから右クリック→作成→C#スクリプト
- サウンドプログラムを作成する
- C#スクリプトをボタンへ登録!
- クリック時()の下[+]ボタンを選択
- ボタンを[なし(オブジェクト)]にドラッグ&ドロップ
- No Functionの▼をクリックし、スクリプト名→変数名を選択
- テストプレイ

上手くできたッピか?
これからも色んなゲーム作りやプログラムの解説をしていくッピ!
次回も楽しみにしているッピよ~~!

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





