【发布时间】:2016-04-26 21:15:57
【问题描述】:
我有一个 UI MENU,玩家可以在其中设置游戏音乐的音量。
通过滑块可以改变音量。我正在尝试保存这些值,并在游戏再次打开时检索它们,但到目前为止还没有成功。
当我们改变 Slider 的值时,声音也会改变,但这些值并没有被保存。
我的代码如下所示:
Ps: Unity 控制台中的 0 警告,如果可能,C# 回答 =]
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class PauseCanvas : MonoBehaviour
{
public Button resumeButton;
public Button backToMainMenuButton;
public Button exitGameButton;
public Canvas gameCanvas;
public Canvas mainMenuCanvas;
public Slider slider;
public float startVolume = 1f;
public float currentVolume;
string newVolume;
void Awake () {
slider.value = GetComponent<AudioSource> ().volume;
currentVolume = slider.value;
}
void Start () {
startVolume = PlayerPrefs.GetFloat (newVolume, 1);
}
void UpdateVolume() {
if (currentVolume < startVolume ) {
PlayerPrefs.SetFloat (newVolume, currentVolume);
PlayerPrefs.Save ();
}
}
void OnEnable ()
{
//Register Button Events
resumeButton.onClick.AddListener (() => buttonCallBack (resumeButton));
backToMainMenuButton.onClick.AddListener (() => buttonCallBack (backToMainMenuButton));
exitGameButton.onClick.AddListener (() => buttonCallBack (exitGameButton));
}
private void buttonCallBack (Button buttonPressed)
{
//Resume Button Pressed
if (buttonPressed == resumeButton) {
Time.timeScale = 1;
//Hide this Pause Canvas
gameObject.SetActive (false);
//Show Game Canvas
gameCanvas.gameObject.SetActive (true);
}
//Back To Main Menu Button Pressed
if (buttonPressed == backToMainMenuButton) {
//Hide this Pause Canvas
gameObject.SetActive (false);
//Show Main Menu Canvas
Score.Inicializar ();
SceneManager.LoadScene ("Menu");
}
//Exit Game Button Pressed
if (buttonPressed == exitGameButton) {
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
}
void OnDisable ()
{
//Un-Register Button Events
resumeButton.onClick.RemoveAllListeners ();
backToMainMenuButton.onClick.RemoveAllListeners ();
exitGameButton.onClick.RemoveAllListeners ();
}
}
【问题讨论】:
-
你试过了吗?成功了吗?
标签: c# unityscript unity3d