被杀死的敌人在 relad 后应该保持被杀死状态

Killed enemies should stay killed after relad

我想为我的游戏添加一个保存系统。 因此,当我重新引导场景时,应该不会再出现被杀死的敌人。我想给每个敌人一个特定的 ID,并在他们被杀时保存它。 OnStart 然后我会检查敌人是否出现在保存的列表中。在我的场景中保存和加载的更有效方法是什么? 法比安干杯

您提出的绝对是一个有效的解决方案,但您可以采取一些措施来显着提高性能:

假设您最终为每个单元提供了一个唯一的 ID,并且您最终在会话之间保存到一个文件中。这完全没问题,但每次在游戏场景之间或每次杀死敌人时都保存和读取文件会很慢且效率低下!

如果您添加一个场景之间的脚本(具有 DontDestroyOnLoad),其中包含您杀死的单位的静态 Hashmap/Dictionary,您可以在每次重新加载场景时从那里读取数据。因为它是一个 hash-table,所以它不会随着您添加更多单元而变得更加低效,并且因为它是一个不需要您读取和写入文件的简单对象,您将能够在你的游戏中执行这么多次而不影响性能。

然后,剩下的就是每当您的用户“保存”游戏时(假设您想在游戏会话之间保持状态),您将 hashmap/dictionary 中的数据保存到您的文件中,以及每当用户根据您的文件加载您在 hashmap/dictionary 中设置数据的游戏。