オーディオの再生が終われば、実行できる仕組みをつくってみましょう。
今回は、クリックでサウンドが鳴り、その曲が終われば、テキストが表示されるようにします。
オーディオソースのisPlayingを取得すれば、再生中かどうかの判定を取ることができます。
関連記事:
マウスを押してる間だけ音が鳴る
クリックのタイミングで発射音を出す
触れたタイミングで音を鳴らす
オーディオごとにボリュームを変える
サウンド再生のPlayとPlayOneShotの違い
2つ以上の音楽ファイルをスクリプトから切り替え
オーディオ再生終了後にテキスト表示
テキスト(TextMeshPro)を作成し、サイズや位置、色を変更します。
ゲームビューではこのように見えています。
テキストのチェックを外し、非表示にしておきます。
空のオブジェクトを作成します。
GameObject(空のオブジェクト)に、オーディオソースを追加。
ゲーム開始時に再生のチェックは外しておきましょう。
オーディオクリップに、音楽ファイルを入れます。
SoundPlay.csを作成し、GameObject(空のオブジェクト)に追加します。
SoundPlay.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoundPlay : MonoBehaviour { private AudioSource audioSource; [SerializeField] GameObject gameOverText; private bool isAudioEnd; void Start() { audioSource = GetComponent<AudioSource>(); } void Update() { if(Input.GetMouseButtonDown(0)) { audioSource.Play(); isAudioEnd = true; } if(!audioSource.isPlaying && isAudioEnd) gameOverText.SetActive(true); else gameOverText.SetActive(false); Debug.Log(audioSource.isPlaying); } } |
GameOverTextのフィールドに、Textオブジェクトを入れます。
ゲームプレイして、動作を確認しましょう。
左クリックすると、オーディオが再生され、鳴り終わるとテキストが表示されます。
audioSource.isPlayingは、再生中ではtrue、停止中はfalseが返されます。
関連記事:
マウスを押してる間だけ音が鳴る
クリックのタイミングで発射音を出す
触れたタイミングで音を鳴らす
オーディオごとにボリュームを変える
サウンド再生のPlayとPlayOneShotの違い
オーディオごとにボリュームを変える
2つ以上の音楽ファイルをスクリプトから切り替え