gpt4 book ai didi

java - 保存多线程游戏

转载 作者:行者123 更新时间:2023-11-29 07:57:54 24 4
gpt4 key购买 nike

我用 java 编写了一个 2d 平台游戏,我想知道如何保存游戏。我只看过使用 XMLEncoder 或 ObjectOutputStream 序列化整个游戏,但是这些并没有正确保存线程。当我再次开始游戏时,线程没有运行。因此,我尝试在游戏加载后在所有线程上调用 start,但这造成了一个主要问题,即线程处于无效状态并且游戏开始出现故障。将整个游戏写入保存文件的最佳方法是什么。

最佳答案

保存游戏很少会像在退出/保存时将所有对象完全保存在内存中一样简单,然后再将它们加载回它们的确切状态。

您更有可能需要/想要创建一个数据结构来表示您的游戏状态,然后将其写入磁盘。多线程不太可能是您主要关心的问题。当您加载游戏状态时,您将希望重新启动这些线程。

许多游戏都是通过菜单保存/加载的。如果您的游戏以启动画面或至少一个主菜单开始,您无论如何都不希望在启动时从它们的确切状态加载对象。找到您需要的最少的重要元素来重建关于游戏状态的所有重要内容并将其保存到磁盘。游戏的大部分状态都可以从非常少量的数据中隐式地重新创建。

遗憾的是,您应该如何保存/加载游戏的确切方法并不容易在问答网站上得到解答,因为这在很大程度上取决于您使用的确切数据结构和游戏的整体性质。

关于java - 保存多线程游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16276887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com