私はプレイヤーがゲーム音楽の音量を設定できるUIメニューを持っています。サウンド値を保存するPlayerPrefers
スライダーでボリュームを変更できます。私はこれらの値を保存しようとしているし、ゲームが再び開いているときにそれらを取得しますが、今まで成功していません。
Sliderの値を変更すると、サウンドも変更されますが、これらの値は保存されません。
シモンズ::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();
}
}
試しましたか?それは動作しましたか? – Programmer