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#について勉強したい人は↓の記事を参考にするッピ♪