我正在构建游戏,游戏需要加载照片和文本文件等资源。
现在让我们说,游戏必须为每个级别加载新资源。
我想合并文件(照片+文字),它将是一个资源文件,我的游戏我们知道如何打开此文件并分离文件,然后阅读它们。
示范:
所以我该怎么做(我希望我的游戏能够合并和分离文件)?
答案 0 :(得分:1)
如果它是Visual Basic使用的资源文件,我认为它们实际上并不包含图像......
如果是您自己的文件,我建议您使用ZipFile Class.
答案 1 :(得分:1)
您可以在自定义文件中保留固定长度的字节数组,以存储该字节数组中两个文件的起始位置和结束位置。例如,如果您在自定义文件字节数据中使用了索引0到19来存储Image:21,3520;Text:3521,6550
之类的信息。然后,通过从该固定字节位置检索信息,在序列中合并文件后,您可以轻松地再次拆分该数组。这是最简单的方法。
Image File Length: 12000
Text File Length: 500
然后你的新数组将被创建为
byte[] data = new byte[12000 + 500 + 20];
在该数组中,您需要存储有关0到19索引中两个文件位置的信息。 (您可以根据需要增加它)。
//Information
data[0] = ...
data[19] = ...
//Image file
data[20] = ...
data[12019] = ...
//Text file
data[12020] = ...
data[12519] = ...
然后使用System.IO.WriteAllBytes()
方法将该字节数组写入文件。
答案 2 :(得分:1)
您可以将DotNetZip用于.net 3.0,3.5
对于.net 4.5,4.6 ZipFile Class
,就像Vincet写的那样。