Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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 - Fatal编程技术网

C# 统一-保存级别更改

C# 统一-保存级别更改,c#,unity3d,C#,Unity3d,我正在制作一个小RPG,当我进入有箱子的房子时,出现了一个问题,我打开箱子拿东西,然后离开房子,改变了场景,回到房子时箱子仍然可以打开 我要寻找的是,当某些物品(如箱子)打开时,它们在整个游戏中保持打开状态,即使在场景发生变化时也是如此。处理这个问题的方法可能不止一种,但我想到的唯一一件事可能是使用PlayerPrefs,但如果有人有更简单的方法来处理类似的事情,我想得到一些反馈。我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体 使用这种方法 D

我正在制作一个小RPG,当我进入有箱子的房子时,出现了一个问题,我打开箱子拿东西,然后离开房子,改变了场景,回到房子时箱子仍然可以打开


我要寻找的是,当某些物品(如箱子)打开时,它们在整个游戏中保持打开状态,即使在场景发生变化时也是如此。处理这个问题的方法可能不止一种,但我想到的唯一一件事可能是使用PlayerPrefs,但如果有人有更简单的方法来处理类似的事情,我想得到一些反馈。

我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体

使用这种方法

DontDestroyOnLoad (transform.gameObject);

我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体

使用这种方法

DontDestroyOnLoad (transform.gameObject);

我会使用我自己的序列化类来实现这一点。但是如果你是在网络上做的,如果你没有在其中塞进大量的数据,那么最好还是坚持使用PlayerPrefs。例如,如果您保存的数据非常小,playerprefs可以,否则您应该考虑序列化您自己的数据。好的,让我看看您所说的,并对此进行一些研究@这种方法有很多种在C#中存储数据的方法。我更喜欢构建自己的类来处理这类东西,但另一个选择是SQL:这里有一个关于基本序列化的教程:@thishHandlenotuse OK,所以我只看了这两个视频,并告诉我是否朝着正确的方向前进,因为这对我来说非常陌生。我基本上不会在第一次加载我的胸部时对其进行序列化(胸部尚未打开),因为它不在要反序列化的文件中?然后,当打开箱子时,它会被写入已经打开的文件中,我会序列化信息,这样当我反序列化时,它会读到它已经打开,并且有了这些信息,我可以生成一个打开的箱子?你应该创建你自己的类对象,它可以存储游戏所需的所有首选项。当有人保存时,您将立即序列化所有这些数据,否则它将位于内存中等待保存。例如,我有一个类似PlayerPrefs的类,我可以通过关键字插入和获取布尔、字符串、浮点等,但它没有大小限制,它将硬盘保存到一个文件中。我会使用自己的序列化类来实现这一点。但是如果你是在网络上做的,如果你没有在其中塞进大量的数据,那么最好还是坚持使用PlayerPrefs。例如,如果您保存的数据非常小,playerprefs可以,否则您应该考虑序列化您自己的数据。好的,让我看看您所说的,并对此进行一些研究@这种方法有很多种在C#中存储数据的方法。我更喜欢构建自己的类来处理这类东西,但另一个选择是SQL:这里有一个关于基本序列化的教程:@thishHandlenotuse OK,所以我只看了这两个视频,并告诉我是否朝着正确的方向前进,因为这对我来说非常陌生。我基本上不会在第一次加载我的胸部时对其进行序列化(胸部尚未打开),因为它不在要反序列化的文件中?然后,当打开箱子时,它会被写入已经打开的文件中,我会序列化信息,这样当我反序列化时,它会读到它已经打开,并且有了这些信息,我可以生成一个打开的箱子?你应该创建你自己的类对象,它可以存储游戏所需的所有首选项。当有人保存时,您将立即序列化所有这些数据,否则它将位于内存中等待保存。例如,我有一个类似PlayerPrefs的类,我可以通过关键字插入和获取布尔值、字符串、浮点值等,但它没有大小限制,它将硬盘保存到一个文件中。