我正在为我的游戏做一个关卡编辑器,我需要将tilemap数据(120x120 uint数组)和字符数据(字符类型,位置,旋转,统计数据等)保存到.bin文件中。我该怎么做?我知道我可以通过使用XML来实现它,但它不利于保存tilemaps ...谢谢
答案 0 :(得分:1)
您正在寻找的是FileReference
类的保存功能。见这里:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()
这仅适用于Flash Player 10+,需要用户互动。 (它会弹出一个保存对话框)这些限制是出于安全原因,如果您希望能够直接保存苍蝇(无需用户交互),则必须使用AIR,请参阅FileStream
class ref:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html
要将本机Flash对象保存到外部文件并再次加载,您需要先将数据写入ByteArray
。 ByteArray
有两个方法(writeObject& readObject)使这个变得微不足道。见这里:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html
答案 1 :(得分:0)
如果它是基于网络的游戏,要在网络浏览器中运行,并且您想要将数据保存在用户系统上(而不是在网络服务器上),我可以考虑两个选项:
如果可以要求Flash Player 10,则可以在用户请求中保存和加载本地文件的数据,例如单击按钮(在代码中的任何位置都不是任意的),并通过标准文件对话框。请参阅FileReference.save()。
您还可以将数据存储在本地SharedObject中。无需用户交互或文件对话即可读取和写入数据。然后Flash Player为您序列化数据,但我认为您应该能够以这种方式保存您描述的数据类型。