AS3 - 保存许多(大)文件

时间:2014-01-25 20:31:39

标签: actionscript-3 flash

我正在创建一个Flash游戏,我需要游戏能够为任何给定的播放保存各种文件,其中一些可以为随机生成的内容保存多达5,000个唯一数据点。我有几个问题:

1. Flash游戏可以保存/加载的文件数量是否有限制?在一个真正极端的情况下,它可能会接近几百个文件,如果某人已经玩了很长时间的游戏,尽管只需要少数(3-5)需要同时加载到内存中。

2。是一个适合这么多数据的共享对象吗?

3. 如果共享对象不合适,XML文件是否可接受?我可以使用正则表达式解析的原始.txt文件怎么样?

4. 最多,大约有5,000个数据点,实际上大约有50,000-250,000个字符的文本(取决于文件介质),加载后会分解为嵌套向量。在加载其中一个文件时,我不希望用户在加载时间超过的情况下 。那是现实吗?

非常感谢帮助解决这些问题。谢谢!

2 个答案:

答案 0 :(得分:0)

Flash游戏无法自行上传/下载用户文件。它只能为用户提供加载文件或将某些信息保存为文件的对话框。使用FileReference类。
该程序唯一可访问的是SharedObject - > SharedObject reference
它可以存储多达10Mb的数据,但用户可以更改限制,恕不另行通知。只需右键单击任何闪存窗口,您将看到存储选项。

答案 1 :(得分:0)

直接答案是
1:无限制,但更多文件意味着更多文件对话 2:是的 3:您可以在SharedObject中存储XML或Text 4:根据您的装载过程,这应该占用50-250Kb并且加载速度相当快。

如果您看一下大多数Flash游戏网站,很多保存数据的应用程序都使用SharedObject。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html

它确实存储了有限的信息。如果您打算存储大量信息,那么FileReference就是您所寻找的,但如果我没有弄错的话,它一次只适用于一个文件。

您最好的选择是以XML或您自己的编码格式存储各种信息。我喜欢将信息编码为字节数组。管理起来有点困难,但存储更容易,更小。除非你gzip或做类似的事情,否则像XML这样的文字会变得非常臃肿。

通常,每1,000个字符需要大约1Kb的未压缩磁盘空间使用量。因此,在您的情况下,您将需要高达250Kb。甚至不是MB,所以一个共享对象就可以完成这个技巧