C# 统一-保存级别更改
我正在制作一个小RPG,当我进入有箱子的房子时,出现了一个问题,我打开箱子拿东西,然后离开房子,改变了场景,回到房子时箱子仍然可以打开C# 统一-保存级别更改,c#,unity3d,C#,Unity3d,我正在制作一个小RPG,当我进入有箱子的房子时,出现了一个问题,我打开箱子拿东西,然后离开房子,改变了场景,回到房子时箱子仍然可以打开 我要寻找的是,当某些物品(如箱子)打开时,它们在整个游戏中保持打开状态,即使在场景发生变化时也是如此。处理这个问题的方法可能不止一种,但我想到的唯一一件事可能是使用PlayerPrefs,但如果有人有更简单的方法来处理类似的事情,我想得到一些反馈。我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体 使用这种方法 D
我要寻找的是,当某些物品(如箱子)打开时,它们在整个游戏中保持打开状态,即使在场景发生变化时也是如此。处理这个问题的方法可能不止一种,但我想到的唯一一件事可能是使用PlayerPrefs,但如果有人有更简单的方法来处理类似的事情,我想得到一些反馈。我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体 使用这种方法
DontDestroyOnLoad (transform.gameObject);
我想,您想用胸部对象保存场景的状态。进入下一个场景时,你们不应该让unity引擎破坏你们的胸部物体 使用这种方法
DontDestroyOnLoad (transform.gameObject);
我会使用我自己的序列化类来实现这一点。但是如果你是在网络上做的,如果你没有在其中塞进大量的数据,那么最好还是坚持使用PlayerPrefs。例如,如果您保存的数据非常小,playerprefs可以,否则您应该考虑序列化您自己的数据。好的,让我看看您所说的,并对此进行一些研究@这种方法有很多种在C#中存储数据的方法。我更喜欢构建自己的类来处理这类东西,但另一个选择是SQL:这里有一个关于基本序列化的教程:@thishHandlenotuse OK,所以我只看了这两个视频,并告诉我是否朝着正确的方向前进,因为这对我来说非常陌生。我基本上不会在第一次加载我的胸部时对其进行序列化(胸部尚未打开),因为它不在要反序列化的文件中?然后,当打开箱子时,它会被写入已经打开的文件中,我会序列化信息,这样当我反序列化时,它会读到它已经打开,并且有了这些信息,我可以生成一个打开的箱子?你应该创建你自己的类对象,它可以存储游戏所需的所有首选项。当有人保存时,您将立即序列化所有这些数据,否则它将位于内存中等待保存。例如,我有一个类似PlayerPrefs的类,我可以通过关键字插入和获取布尔、字符串、浮点等,但它没有大小限制,它将硬盘保存到一个文件中。我会使用自己的序列化类来实现这一点。但是如果你是在网络上做的,如果你没有在其中塞进大量的数据,那么最好还是坚持使用PlayerPrefs。例如,如果您保存的数据非常小,playerprefs可以,否则您应该考虑序列化您自己的数据。好的,让我看看您所说的,并对此进行一些研究@这种方法有很多种在C#中存储数据的方法。我更喜欢构建自己的类来处理这类东西,但另一个选择是SQL:这里有一个关于基本序列化的教程:@thishHandlenotuse OK,所以我只看了这两个视频,并告诉我是否朝着正确的方向前进,因为这对我来说非常陌生。我基本上不会在第一次加载我的胸部时对其进行序列化(胸部尚未打开),因为它不在要反序列化的文件中?然后,当打开箱子时,它会被写入已经打开的文件中,我会序列化信息,这样当我反序列化时,它会读到它已经打开,并且有了这些信息,我可以生成一个打开的箱子?你应该创建你自己的类对象,它可以存储游戏所需的所有首选项。当有人保存时,您将立即序列化所有这些数据,否则它将位于内存中等待保存。例如,我有一个类似PlayerPrefs的类,我可以通过关键字插入和获取布尔值、字符串、浮点值等,但它没有大小限制,它将硬盘保存到一个文件中。