c# - 在多个场景之间传输数据
问题描述
我是 C# 和 Unity 的新手,我尝试实现一个音量滑块。我现在可以调节音量,但每次尝试加载新场景时音量都会重置。
有人可以告诉我如何将音量转移到其他场景吗?我正在使用 Unity 2018.3.14f1,我用于卷的代码是:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
public class SetVolume : MonoBehaviour
{
public AudioMixer mixer;
public void SetLevel(float sliderValue)
{
mixer.SetFloat("MusicVol", Mathf.Log10(sliderValue) * 20);
}
}
解决方案
将其保存在 中PlayerPrefs
,然后在“开始”或您需要的任何地方加载它。
public class SetVolume : MonoBehaviour
{
public AudioMixer mixer;
void Start()
{
SetLevel(PlayerPrefs.GetFloat("MusicVol"));
}
public void SetLevel(float sliderValue)
{
PlayerPrefs.SetFloat("MusicVol", sliderValue);
mixer.SetFloat("MusicVol", Mathf.Log10(sliderValue) * 20);
}
}
推荐阅读
- c# - 在 Azure Pipeline 中使用 GlobalSuppressions.cs i StyleCop Runner
- javascript - Vuejs:即使删除令牌后也可以访问路由
- delphi - 截至 2018 年 11 月 1 日,谷歌街景 javascript api 显示灰屏
- java - 如何使用 java ftpclient 在远程位置上传重复文件
- orientdb - Gremlin 查询以检索 OrientDB 通用类的节点
- asp.net-mvc - 路由器提供程序 MVC
- javascript - 当我尝试从 jquery 将数据传递到 Flask 端点时没有响应
- azure - Microsoft Azure AD Graph API:获取按比例分配的用户许可证信息
- jquery - 在任何表格悬停时显示颜色选项列表
- javascript - 通过锚点识别表单提交动作