我应该如何使用 Java 保存自定义游戏文件?
Posted
技术标签:
【中文标题】我应该如何使用 Java 保存自定义游戏文件?【英文标题】:How should I save custom game files using Java? 【发布时间】:2012-11-05 04:50:21 【问题描述】:我想创建一个类似于 Pokemon 的游戏,其中包含一些基本对象,例如人、咒语、药水和不同的地图,这实际上只是一个网格,每个正方形包含一个人或一个图像(如草) .由于通过逐行编码来创建所有这些对象会很乏味、难以可视化(尤其是地图)并且难以修改,因此我计划使用 Net Beans IDE 创建一个允许用户创建对象的 GUI前面提到过。
这是我的问题:一旦我弄清楚如何获取用户使用 GUI 输入的地图信息,我应该如何将其保存为类似 Pokemon 的应用程序可以读取的形式?是否有某种标准方法可以将对象保存到文件中,然后再在另一个应用程序中读取?还是我在这里采取了错误的方法?
我正在使用这个项目来学习更多关于 Java 编程的知识,并且刚刚开始使用 Net Beans;如果听起来我不知道我在说什么,请原谅我,因为我可能不知道。抱歉,这个问题太含糊了,但我不知道从哪里开始以有组织的方式将大量对象保存到文件中,只是希望获得有关如何执行此操作的一些指导。
【问题讨论】:
【参考方案1】:听起来,Java 序列化非常适合您的问题。唯一要注意的是,您要序列化的图形中的所有对象都需要实现Serializable
接口......而某些库类没有实现它。 (例如,您不能序列化线程或 GUI 对象。)解决方法是使用 transient
修饰符将不可序列化的对象排除在要序列化的对象图中。
这里是 Java 序列化的文档索引:
http://docs.oracle.com/javase/7/docs/technotes/guides/serialization/index.html这里是有关该主题的 Java 教程部分...如果您是 Java 新手,这可能是一个更好的起点。
http://docs.oracle.com/javase/tutorial/essential/io/objectstreams.html【讨论】:
【参考方案2】:从这里的文档中查看 java 中的基本文件 i/o:http://docs.oracle.com/javase/1.5.0/docs/guide/io/index.html,并且最好使用序列化存储大量对象:http://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html
【讨论】:
以上是关于我应该如何使用 Java 保存自定义游戏文件?的主要内容,如果未能解决你的问题,请参考以下文章