【发布时间】:2015-01-24 14:21:32
【问题描述】:
目前我切换到 On Value Change 使 AudioSource.enabled 关闭音乐。
但是,当我在游戏中死去时,关卡会重新加载,导致切换返回到其默认状态,然后我无法重新打开音乐。
那么制作音乐切换并在加载时记住切换状态的最佳方法是什么?
【问题讨论】:
标签: c# user-interface unity3d toggle
目前我切换到 On Value Change 使 AudioSource.enabled 关闭音乐。
但是,当我在游戏中死去时,关卡会重新加载,导致切换返回到其默认状态,然后我无法重新打开音乐。
那么制作音乐切换并在加载时记住切换状态的最佳方法是什么?
【问题讨论】:
标签: c# user-interface unity3d toggle
另一种解决方案是单例音乐管理器游戏对象,它只创建一次并在场景之间持久存在,这意味着当您重新加载场景或加载不同场景时它不会被销毁。
您可以在此处阅读有关单例模式的更多信息:http://unitypatterns.com/singletons/
【讨论】:
您可以使用PlayerPrefs 跨场景保存持久数据。只需将音频状态存储在那里,并确保在加载新场景时检查它是否已启用(例如,在同一 AudioSource 的 GameObject 上附加的 MonoBehaviour 的 Awake 方法内)。
旁注
根据具体情况,使用AudioListener.volume而不是修改所有AudioSources,全局关闭音量可能更容易。
【讨论】: