存储游戏数据的最佳方法?(图像,地图等)

我正在创建一个基本的2D游戏(以及游戏引擎),目前正在开发数据的文件格式。当然,要运行此游戏,我将需要缓存。我发现将游戏的所有数据都放在一个文件中是非常不专业的(只要文件采用某种缓存格式,就不一定要保存在单个文件中)。

所以这就是为什么我来这里问。我当时想做一个zip文件,但我觉得那根本不是最好的方法。我也在考虑做另一个二进制写程序,该写程序将具有标题(文件的类型,“位置”)和每个文件的封闭标记,以便于解释。但是我觉得那太低效了。

所以,请问您有什么想法吗?

注意:此游戏引擎实际上仅用于学习目的。

tl; dr我需要一种有效的方法来存储我正在制作的游戏中的图像等数据。

回答:

您可以将任何对象存储为.dat文件:

public class MyGame implements Serializable 

{

private static void saveGame(ObjectType YourObject, String filePath) throws IOException

{

ObjectOutputStream outputStream = null;

try

{

outputStream = new ObjectOutputStream(new FileOutputStream(filePath));

outputStream.writeObject(YourObject);

}

catch(FileNotFoundException ex)

{

ex.printStackTrace();

}

catch(IOException ex)

{

ex.printStackTrace();

}

finally

{

try

{

if(outputStream != null)

{

outputStream.flush();

outputStream.close();

}

}

catch(IOException ex)

{

ex.printStackTrace();

}

}

}

public static ObjectType loadGame(String filePath) throws IOException

{

try

{

FileInputStream fileIn = new FileInputStream(filePath);

ObjectInputStream in = new ObjectInputStream(fileIn);

return (ObjectType) in.readObject();

}

catch(FileNotFoundException ex)

{

ex.printStackTrace();

}

catch(IOException ex)

{

ex.printStackTrace();

}

}

}

以上是 存储游戏数据的最佳方法?(图像,地图等) 的全部内容, 来源链接: utcz.com/qa/432070.html

回到顶部