シーンB→シーンCの時はBGM引継ぎ、シーンB→シーンAの時はBGM消す
シーンB→シーンCへ移動時にはシーンBで設定したBGMをそのまま引き継ぎ
シーンBのAudio Source(BGM)の以下のコードを付けてます。
使用コード1↓
using UnityEngine;
using System.Collections;
public class SESoundScript : MonoBehaviour
{
public bool DontDestroyEnabled = true;
// Use this for initialization
void Start()
{
if (DontDestroyEnabled)
{
// Sceneを遷移してもオブジェクトが消えないようにする
DontDestroyOnLoad(this);
}
}
// Update is called once per frame
void Update()
{
}
}
シーンB→シーンAの時はシーンB上に配置した「戻る」ボタンでシーンAへ移動
その際にシーンBで使用しているAudio Source(BGM)を停止したい
Audio Source(BGM)に以下の使用コード2も付けてます↓
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // UI関連のクラスを使うために追加
public class PlaySoundOnClick : MonoBehaviour
{
public AudioSource audioSource; // オーディオソースをここに設定
public Button muteButton; // 音を消すためのボタン
private bool isButtonHovered = false; // ボタンにカーソルが乗っているかのフラグ
void Start()
{
// ボタンのイベントリスナーを設定
muteButton.onClick.AddListener(StopAudio);
}
void Update()
{
// マウスの左ボタンが押された時
if (Input.GetMouseButtonDown(0) && !isButtonHovered)
{
// 音が再生されていない場合に再生
if (!audioSource.isPlaying)
{
audioSource.Play();
}
}
}
// ボタンにマウスが乗った時に呼ばれる
public void OnPointerEnter()
{
isButtonHovered = true;
}
// ボタンからマウスが離れた時に呼ばれる
public void OnPointerExit()
{
isButtonHovered = false;
}
// ボタンが押されたときに音を止める
void StopAudio()
{
audioSource.Stop();
}
}
シーンBに配置された「戻る」ボタンには
・On ClickにシーンAに移動するコード
・Event TriggerにPointer DownにてSEを1度だけ鳴らす
・Event TriggerにPointer Exitniteにて使用コード2を付けてOnPointerExit
という構図にしています。
ですがシーンAに移動してもシーンBでのBGMが引き継がれてしまいます。
どのように対応したら良いでしょうか?
ご教授お願い致します。