【Unity C#】音が鳴り終われば実行する
オーディオの再生が終われば、実行できる仕組みをつくってみましょう。
今回は、クリックでサウンドが鳴り、その曲が終われば、テキストが表示されるようにします。
オーディオソースのisPlayingを取得すれば、再生中かどうかの判定を取ることができます。
関連記事:
【Unity C#】マウスを押してる間だけ音が鳴る
【Unity C#】クリックのタイミングで発射音を出す
【Unity C#】触れたタイミングで音を鳴らす
【Unity C#】オーディオごとにボリュームを変える
【Unity C#】サウンド再生のPlayとPlayOneShotの違い
【Unity C#】オーディオごとにボリュームを変える
オーディオ再生終了後にテキスト表示
テキストを作成し、サイズや位置、色を変更します。
ゲームビューではこのように見えています。
テキストのチェックを外し、非表示にしておきます。
今回は、MainCameraを使って、サウンド再生します。
MainCameraに、オーディオソースを追加。
ゲーム開始時に再生のチェックは外しておきましょう。
音楽ファイルをインポートします。
(※再生時間が短すぎると、実行結果が確認しづらいです。注意しましょう)
SoundPlay.csを作成し、MainCameraに追加します。
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 32 33 34 35 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoundPlay : MonoBehaviour { [SerializeField]AudioSource audioSource; [SerializeField] AudioClip audioClip; [SerializeField] GameObject text; private bool isAudioEnd; void Start() { audioSource = GetComponent<AudioSource>(); isAudioEnd = false; audioSource.clip = audioClip; } void Update() { if(Input.GetMouseButtonDown(0)) { audioSource.Play(); isAudioEnd = true; } if(!audioSource.isPlaying && isAudioEnd) { text.SetActive(true); } else { text.SetActive(false); } } } |
オーディオクリップ、テキストのフィールドに、それぞれデータを入れます。
ゲームプレイして、動作を確認しましょう。
左クリックすると、オーディオが再生され、鳴り終わるとテキストが表示されます。
関連記事:
【Unity C#】マウスを押してる間だけ音が鳴る
【Unity C#】クリックのタイミングで発射音を出す
【Unity C#】触れたタイミングで音を鳴らす
【Unity C#】オーディオごとにボリュームを変える
【Unity C#】サウンド再生のPlayとPlayOneShotの違い
【Unity C#】オーディオごとにボリュームを変える