我正在制作一款需要保存进度的java游戏。但是我不想让外部文件保存进度(有些游戏喜欢我的游戏有一个存储文件的“保存”目录)。所以基本上我希望它存储一些可以在用户退出并再次返回时检索的数据。比如说,一个名为 num 的int。因此,当用户“X”退出然后再次启动时,我仍希望拥有int 号。提前谢谢。
答案 0 :(得分:2)
你问的是不可能的。
为了使您的应用程序中的任何数据持久存在,它需要存储在某个地方。当您运行游戏时,它将存储在系统内存中,但是一旦游戏关闭,操作系统将重新分配内存,以便其他程序可以使用它。
如果您希望在会话之间保留数据,则必须在某处写入文件。有关保存和检索对象的快速方法,请查看Serializable接口(http://www.javapractices.com/topic/TopicAction.do?Id=57)。
答案 1 :(得分:2)
您无法像Java中所说的那样存储数据;你必须使用外部文件。但是,隐藏所述文件相当容易。您可以将文件保存在appdata下或用户目录下,可以通过System.getProperty("user.home")
检索。我通常也用“。”开始游戏的目录名称。 (如C:/.../.minecraft/
)。还有各种存储数据的方法。我亲自制作了自己的NBT(命名二进制标签)系统,但我建议在配置文件中逐行开始使用简单的name = value
系统。
答案 2 :(得分:1)
除了已经给出的答案/评论,我们应该问你的目标是什么。
因为您的目标可能是您不希望用户能够操纵该整数吗?
如果是这种情况,那么您应该在服务器上存储整数。
答案 3 :(得分:0)
据推测,您可以将持久状态存储在"云"中。无论如何,哪个可能会将它持久存储在某个磁盘上。但至少这种方式不在本地磁盘上。