flash as3 和 adobe air -- 保存绘图文件,之后可以撤消/重做
Posted
技术标签:
【中文标题】flash as3 和 adobe air -- 保存绘图文件,之后可以撤消/重做【英文标题】:flash as3 and adobe air -- save drawing file with the ability to undo/redo afterwards 【发布时间】:2013-08-20 01:06:52 【问题描述】:我正在使用 Flash CS6 制作 Adobe Air 绘图应用程序。我想要一个保存选项,让您在保存并退出程序并再次打开它后撤消/重做画线。
我对 BitmapData、Bitmap、Sprite、File 和 FileStream 进行了研究,但没有任何东西可以作为保存后撤消/重做的方法。
顺便说一句,我已经制作了保存、打开和读取文件的功能。我只是不知道要在保存的文件中放入什么。
【问题讨论】:
【参考方案1】:为每一行创建一个类来保存图形对象。在每个笔划上创建该类的一个实例并将其添加到一个数组中。保存时(假设您保存了一个 XML 文件),您可以创建一个像 < canvas >
这样的节点,您可以在其中存储所有子节点以及每行信息。
加载时读取 XML 文件并使用您的对象重新创建数组。 XML 节点的顺序将是您的深度/z-index/层顺序和您撤消/重做的历史记录。
如果你想更进一步,比如只撤消笔画的颜色变化,你需要创建一个 ActionHistory 类来指向一个动作和对象。
希望有帮助!
【讨论】:
我会试试的。感谢您的所有帮助!以上是关于flash as3 和 adobe air -- 保存绘图文件,之后可以撤消/重做的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Adobe air 在静音模式下检测设备并与之交互 - AS3
Flash 10 + AS 2.0中Adobe AIR和Zinc的良好替代品