为游戏设置保存和加载功能的方式会因游戏的复杂度而变化。 虚幻引擎支持序列化以处理保存和加载。 虚幻引擎的SaveGame对象类可以在蓝图或C++中派生,可以用于保存简单的变量。 如果你的游戏要求更复杂的保存和加载行为,请参阅这份关于 序列化的最佳实践和技巧 的讲座。 如果你需要编写可由用户配置的设置,请使用UGameUserSettings工具类。
Parrot中的UParrotGameUserSettings派生自 UGameUserSettings。 它可为Parrot保存并加载可由玩家配置的设置。
音频设置示例
玩家可以在Parrot中配置音频设置。 Parrot会保存以下浮点值:
主音量(Main Volume)
音乐音量(Music Volume)
音效音量(SFX Volume)
请确保项目使用正确的游戏用户设置类。 如需对其进行配置,请转到编辑(Edit) > 项目设置(Project Settings) > 引擎(Engine) - 一般设置(General Settings),并将游戏用户设置类(Game User Settings Class)设置为ParrotGameUserSettings。
然后将用户设置转换为UParrotGameSettings类型并调用保存函数。 这在UParrotAudioSubsystem中有所表露,详情请参阅Parrot中的音频引擎实现方案。
使用UGameUserSettings派生类的另一个好处是避免了去序列化的问题。 用户设置会在游戏启动时自动被读取并应用。