ゲームビューでクリックすれば音を出して、ボタンを押したときだけは音を消すしくみを作ってみましょう。
マウスの左ボタンを押すタイミングでオーディオ再生しますが、マウスカーソルがボタンに乗っている間は再生されません。
関連記事:
ボタンを押せば音が鳴る
マウスを押してる間だけ音が鳴る
クリックのタイミングで発射音を出す
触れたタイミングで音を鳴らす
サウンド再生のPlayとPlayOneShotの違い
ボタンを押したときだけ無音にするスクリプト
音楽ファイルを、インポートします。
プロジェクトビューの中で右クリックして、新しいアセットをインポート。

今回はsound01というmp3ファイルを用意しました。

空のオブジェクトを作成します。

GameObject(空のオブジェクト)に、AudioSourceコンポーネントを追加します。
オーディオクリップにsound01を入れ、ゲーム開始時に再生のチェックを外します。

PlaySound.csを作成し、GameObjectに追加します。

PlaySound.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 PlaySound : MonoBehaviour { private bool soundOff; void Start() { soundOff = false; } void Update() { if(Input.GetMouseButtonDown(0) && !soundOff) { GetComponent<AudioSource>().Play(); } } public void Event() { soundOff = true; } public void Exit() { soundOff = false; } } |
ゲームプレイして、画面をクリックすれば、音が鳴るようになります。
イベントトリガーの追加
続いて、ボタンをクリックした時には無音になるように、設定していきましょう。
ボタンを作成します。

Buttonにイベントトリガーを追加します。
コンポーネントを追加 > イベント > イベントトリガー

Pointer Enterを設定
「新しいイベントタイプを追加」をクリックし、Pointer Enterを選択します。

Pointer Enterは、ボタンにマウスを乗せたときのアクションになります。
Pointer Enterを以下の手順で設定しましょう。

Pointer Exitを設定
続いて、ボタンからマウスが離れた時の、アクションをつけましょう。
「新しいイベントタイプを追加」をクリックし、Pointer Exitを選択します。

ここでは、PlaySound > Exit() を選択します。

ゲームプレイしてみましょう。
画面上をクリックすれば、サウンド再生。
ボタンをクリックしたときだけ、再生されません。
関連記事:
ボタンを押せば音が鳴る
マウスを押してる間だけ音が鳴る
クリックのタイミングで発射音を出す
触れたタイミングで音を鳴らす
サウンド再生のPlayとPlayOneShotの違い