Unity 効果音が再生されていないときに効果音を再生したい時の対処方法

皆さんこんにちは、内山です!

 

Unityでゲームを作る時って、BGMやSEをなるべく入れてますよね!

 

BGMは基本的に一種類しか流さないのでいいと思うのですが、
SEは鳴らすタイミングが様々で少し扱いが難しいですよね・・。

 

そこで今回はSEのタイミング制御方法として
音が鳴っていない場合に、新たに音を再生する方法について紹介していきます!

Unityで効果音の鳴らし方

Unity 基本的な音の鳴らし方

Unityで音を鳴らすのであれば、比較的簡単に実装することができます。

  1. ゲームオブジェクトにAudioSourceコンポーネントをアタッチ
  2. AudioClipに鳴らしたい音を設定
  3. 音を再生する関数を作成し、任意のタイミングで呼び出す※

※コードは下記の通りです

 

このコードではスペースキーを押すたびに
SEが鳴るようになっています。

しかしスペースキーが連打された場合、
何度も音を再生してしまうことになります。

Unity 音が鳴っていないときに、新たな音を出す

それを防ぐことができるのが今回紹介する
isPlayingというものです。

下記コードをご覧ください。

このようにAudioSourceが、
現状再生されているかどうかの判定を行い
bool値の戻り値を返してくれます。

再生中であればtrue
ちがければfalse

が帰ってきます。

 

音が鳴り終わったら、
行いたい処理などある場合、
非常に有効に使えます。

 

Unityをより効率的に学びたい人向けに

Unityの日本語情報が比較的多いと言われてはいますが
日本語では体系的にまとまっている情報が非常に少なく、

私がUnityを学んだときは
時間的なコストが非常にかかってしまいました。

 

そこでこれからUnityを学習する人は

より少ない時間で、より多くの知識を習得できるように
私が学習した知識を共有するYouTubeチャンネルを開設しました!

 

詳しくは下記よりご覧になってください。

損をしないUnity学習方法

このチャンネルでは、短い時間でゲーム開発に必要な知識を習得できるジャンルごとの解説講座を公開しています! 丁寧な解説を心がけているので、ゲーム開発に挫折することなくゲームを作りきる成功体験を[…]