前回の【Unity2Dサンプルゲーム】爆弾を避けよ!~10~の続きです。
効果音を鳴らしていきます。
前提条件
こんな感じです。
この記事の「爆弾を避けよ!」の作成の流れ
- 効果音をどうやって出すか
- 【PlayerController】スクリプトに記述する
- 効果音をセットする
- ゲームを実行してみる
効果音をどうやって出す
効果音(音源)を再生するためのコンポーネントってのがありまして、基本的にこっちが多く使われます。詳しくは効果音を鳴らす方法【AudioSource】を見てね。
ただこいつには弱点がありまして、このコンポーネントがつけられているオブジェクトが削除されえちゃうと、もう再生することができません。当たり前なんだけどね( ・∇・)
ではどうしよって考えたのです。そこで使えるのが「AudioSource .PlayClipAtPoint」メソッドです。こやつは音源を鳴らしたい座標をしていでき、その座標に新たなオブジェクトを生成して、音源を再生してくれます。
とりあえず、オブジェクトが破壊されても音源を再生できるのです。のちのち役立つと断言しよう。
あと【Player】が破壊されるタイミングで音源を再生していきます。
【PlayerController】スクリプトに記述する
【PlayerController】スクリプトを開いて、記述してください。Projectウィンドウで【PlayerController】スクリプトをダブルクリックすることで開くことができます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour {
GameObject retryButton;
public AudioClip clip;
// Use this for initialization
void Start () {
this.retryButton = GameObject.Find("RetryButton");
retryButton.SetActive(false);
}
// Update is called once per frame
void Update () {
}
// 右矢印ボタンを押したら移動するメソッド
public void RightArrowDown()
{
transform.Translate(2, 0, 0);
}
// 左矢印ボタンを押したら移動するメソッド
public void LeftArrowDown()
{
transform.Translate(-2, 0, 0);
}
// ぶつかった瞬間にオブジェクトを破壊
void OnTriggerEnter2D(Collider2D collision)
{
AudioSource.PlayClipAtPoint(clip, new Vector3(0, -3, 0));
retryButton.SetActive(true);
Destroy(gameObject);
}
}
AudioSource.PlayClipAtPoint(A, new Vector3(X, Y, Z)); | A音源を座標(X,Y,Z)のとこで再生 |
AudioSource.PlayClipAtPoint(clip, new Vector3(0, -3, 0));
どこの座標でも良かったのですが、ゲーム開始時の【Player】の座標のとこで再生するようにしました。
効果音をセットする
【Hierarchy】→【Player選択】→【Inspector】→【音源をclipにドラッグ&ドロップする】
これで再生できるようになります。
ゲームを実行してみる
Gifパイセンは音が出ません。自分で実してみてください。【Player】が破壊されたときに、音源がなれば成功です。
おわりに
【Player】が削除されて音源が再生されるようでしたら、完成です。
長がったですね。
はい、自分も大変でした。大変とか言いたくないけど大変でした。褒めてください。嘘です。(やっぱちょっと褒めて)
まだ補足がありますが、とりあえず完成。
こういうサンプルゲームだけでも完成させることができない人が多いらしいです。そんな中、ユニシャーのサンプルゲームを完成させていただきありがとうございました。
なにか質問がありましたら、さぎのみや(@saginomiya8)にリプください。
補足
【Unity2Dサンプルゲーム】爆弾を避けよ!~12~【補足】でUnityroomという場所を使って公開する方法を書いています。
コメント
コメント一覧 (2件)
とても分かりやすく初心者の目線になり、1つ1つの操作手順に至るまで丁寧に解説をしてくださったお陰でこのチュートリアルを無事卒業できました。
本当にありがとうございました。今後も是非利用させていただこうと思います。お体気を付けて更新頑張ってください!
ありがとうございます!非常に嬉しいです。今度も使ってくださいね!