我在Flash cs5中写了一些应用程序,它允许用户自己制作圣诞卡,但在编程结束时我意识到,我应该提供一些功能来保存用户的卡以分离SWF文件。 。
请知道,有人帮助我!我试图在谷歌找到一些东西,但我所理解的是我应该使用ByteArray。但我真的无法得到,我可以在我的情况下使用它吗?
我发现的只有这四行:
var buffer:ByteArray = new ByteArray();
buffer.writeObject(MOVIE_CLIP_HERE);
buffer.position = 0;
buffer.writeBytes(...);
对于老年人也许它可以帮助,但我无法得到如何帮助这些线我可以解决我的问题...非常感谢)))
答案 0 :(得分:1)
您需要一些服务器端技术,如PHP或ASP,因为Flash Player无法在磁盘上保存任何内容。如果您考虑以编程方式创建swf文件,那可能非常困难。话虽这么说,我就是这样做的:
首先,我会将movieclip写入ByteArray,就像你的例子一样:
var buffer:ByteArray = new ByteArray();
buffer.writeObject(card_mc);
然后我将字节数组发送到PHP脚本,该脚本将文件中的字节数据保存(文本文件可以)。保存的数据实际上是您的序列化动画片段。 然后,我会创建一个swf文件,它将作为实际卡片,但实际上它将是保存的movieclip的容器。此文件将文本文件中的数据加载到ByteArray并反序列化movieclip:
var loadedClip:MovieClip = MovieClip(byteArray.readObject());
一旦你完成了这项任务,你就完成了。当用户将卡片保存到他们的计算机时,您可以向他们发送容器swf文件并将数据文件保存在您的服务器上(但在这种情况下,swf将需要从您的服务器加载movieclip),或者您可以为他们提供这两个文件。
我希望这会有所帮助。