unity3d之切换场景不销毁物体

时间:2023-03-09 15:53:49
unity3d之切换场景不销毁物体
 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 背景音乐脚本
/// </summary>
public class AudioBackground : MonoBehaviour { static AudioBackground StaticObject; private bool LastMusicOn = true; void Start()
{ }
public static AudioBackground instance
{
get
{
if (StaticObject == null)
{
StaticObject = FindObjectOfType<AudioBackground>();
DontDestroyOnLoad(StaticObject.gameObject);
}
return StaticObject;
}
}
void Awake()
{
if (StaticObject == null)
{
StaticObject = this;
DontDestroyOnLoad(this);
}
else if (this != StaticObject)
{
Destroy(gameObject);
} }
void Update()
{
if (MainController.musicOn != LastMusicOn)
{
LastMusicOn = MainController.musicOn;
OnMusicChanged();
}
}
private void OnMusicChanged()
{
if (MainController.musicOn)
{
gameObject.GetComponent<AudioSource>().Play();
}
else
{
gameObject.GetComponent<AudioSource>().Pause();
}
}
}