Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在场景更改后保持设置_C#_Unity3d_Unity Ui - Fatal编程技术网

C# 如何在场景更改后保持设置

C# 如何在场景更改后保持设置,c#,unity3d,unity-ui,C#,Unity3d,Unity Ui,我在一个场景中有一个选项菜单,但当你加载到游戏中(切换场景)然后返回(切换场景)时,它会丢失所有设置。我试图用DontDestroyOnLoad来完成它,但无法让它工作,我也不知道如何读写文本文件。保持所有设置的最佳方式是什么? 图像:在Unity中,您可以通过类保存和加载设置。这是一个静态类,意味着您可以访问Unity脚本文件中的任何位置的设置 用法示例: //设置播放器名称首选项 PlayerPrefs.SetString(“玩家姓名”、“达里安·贝纳姆”); //保存所有首选项 Playe

我在一个场景中有一个选项菜单,但当你加载到游戏中(切换场景)然后返回(切换场景)时,它会丢失所有设置。我试图用DontDestroyOnLoad来完成它,但无法让它工作,我也不知道如何读写文本文件。保持所有设置的最佳方式是什么?
图像:

在Unity中,您可以通过类保存和加载设置。这是一个静态类,意味着您可以访问Unity脚本文件中的任何位置的设置

用法示例:

//设置播放器名称首选项
PlayerPrefs.SetString(“玩家姓名”、“达里安·贝纳姆”);
//保存所有首选项
PlayerPrefs.Save();
//从首选项加载播放器名称
string playerName=PlayerPrefs.GetString(“播放器名称”);//根据本例,字符串的值为“Darian Benam”

需要在脚本的
Start()
方法中重新加载菜单场景中的设置。您只需要将GUI组件的值设置为
PlayerPrefs
类中getter方法的返回值。

memento模式???这似乎是可行的。让我试试。一秒钟后,我想它会在维基文章的基础上工作,但我不确定如何将它合并到脚本中。非常感谢!