皆さんこんにちは!
Unityでゲームを作る時って、BGMやSEをなるべく入れてますよね!
BGMは基本的に一種類しか流さないのでいいと思うのですが、
SEは鳴らすタイミングが様々で少し扱いが難しいですよね・・。
そこで今回はSEのタイミング制御方法として
音が鳴っていない場合に、新たに音を再生する方法について紹介していきます!
Unityで効果音の鳴らし方
Unity 基本的な音の鳴らし方
Unityで音を鳴らすのであれば、比較的簡単に実装することができます。
- ゲームオブジェクトにAudioSourceコンポーネントをアタッチ
- AudioClipに鳴らしたい音を設定
- 音を再生する関数を作成し、任意のタイミングで呼び出す※
※コードは下記の通りです
このコードではスペースキーを押すたびに
SEが鳴るようになっています。
しかしスペースキーが連打された場合、
何度も音を再生してしまうことになります。
Unity 音が鳴っていないときに、新たな音を出す
それを防ぐことができるのが今回紹介する
isPlayingというものです。
下記コードをご覧ください。
このようにAudioSourceが、
現状再生されているかどうかの判定を行い
bool値の戻り値を返してくれます。
再生中であればtrue
ちがければfalse
が帰ってきます。
音が鳴り終わったら、
行いたい処理などある場合、
非常に有効に使えます。