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学習方法

皆さん、こんにちは!内山です!私自身、面白いゲームを作りたいと思いゲーム開発を始めました。 しかしいざ始めてみると挫折の連続でした・・。公式チュートリアルを日本語で検索して中[…]

 

 

>挫折せずにゲームを作りきる成功体験を!

挫折せずにゲームを作りきる成功体験を!

ゲームを作りきる成功体験をあなたにしてほしいためYouTubeで具体的なゲームジャンルの作り方を解説するチャンネルを作りました