2010-08-05 27 views
2

使用SharedObject.getLocal我可以通过在方法调用中使用唯一标识来访问看起来无数个文件;我想知道的是,如何检索已为当前域名保存的所有活动文件或共享对象的列表。获取当前域的所有共享对象

我想写一个保存游戏机制,允许你保存你的游戏(可能有很多兆字节),所以使用单个共享对象似乎可能会导致性能问题,但是如果我使用多个对象,我不确定我如何找出保存的内容,而不使用对象来指定其他保存的ID - 然后我的问题就变成了如果这个“头部”对象被删除或删除会发生什么 - 玩家如何访问其他文件?

一个从闪存文档片段:

本地磁盘空间注意事项。本地共享对象在设计应用程序时有一些重要的限制。有时SWF文件可能不允许编写本地共享对象,有时存储在本地共享对象中的数据可能在您不知情的情况下被删除。 Flash Player用户可以管理可用于单个域或所有域的磁盘空间。当用户减少可用磁盘空间量时,可能会删除一些本地共享对象。 Flash Player用户还拥有隐私控制功能,可以防止第三方域(当前浏览器地址栏中域以外的域)读取或写入本地共享对象。

这让我担心了一下:

一些本地共享对象可能会被删除

一些?哪个??大声笑。

非常感谢, 克里斯

回答

0

我决定只允许用户保存的游戏X号;那么我可以给他们所有特定的ID(即1-10),那么我只需要尝试访问带ID的每个共享对象并检查它是否是有效的文件。甜而简单。

出于某种原因,我的大脑试图将其扩展到数十万个文件,但它并不是真的必要;没有文件夹管理限制用户是件好事!

0

使用共享对象可能不是存储重要数据的最佳途径。你能创建任何服务器代码来将你保存的游戏数据存储在数据库中吗?

我很好奇什么是保存游戏数据,可能是兆字节?

+0

这是一个基于瓷砖的游戏,具有完全可破坏的世界;所有的瓦片数据必须存储,以便您可以返回到您如何离开它;我将在实际的磁贴上使用压缩,然后压缩字节数组,但每次保存仍然在4-8MB的区域。 – 2010-08-05 19:40:00

+0

我想要选择保存在服务器上或本地;本地版本很容易开始,因为带宽要好得多,但试图将所有数据上下推送到服务器将是它自己的一个小挑战:-D。 我认为它可能会接近2.5MB;该地图是80x8192,我想我可以压缩到每个瓷砖4个字节;我目前正在考虑将地图缩小到其高度的一半,因此对于服务器版本来说可能并不是那么糟糕。 – 2010-08-05 19:44:57