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