撤消/重做添加对象

时间:2014-02-11 18:01:06

标签: actionscript-3 flash

我有一个自定义横幅制作程序,可以在其中完成以下操作:

  • 可以选择不同的横幅形状(单击按钮将相应的动画片段放在舞台上)
  • 可以使用链接到按钮的ColorTransform选择不同的横幅颜色,即红色按钮将横幅变为红色
  • 可以使用startDragstopDrag将文本字段添加到舞台,拖放,并且可以使用ColorPicker更改文本颜色,也可以更改字体大小和字体本身
  • 可以从面板中选择预加载的图像并添加到横幅(单击按钮以将相应的动画片段添加到舞台)
  • 图像可以直接上传到舞台上,并且可以调整大小

我需要找出一种能够实质上添加撤消和重做功能的方法,例如删除放置的图像/文本框,将横幅颜色更改回以前的颜色,重置位置从默认位置拖动的对象等。

我不确定如何使用AS3最好地解决这个问题?

1 个答案:

答案 0 :(得分:0)

不难。使用removeChild(此处为Child的实例名称)从舞台中删除对象。

Atriace的想法是明智的。你没有说你是否想要记住之后>你停止运行程序的位置。或者只是你正在运行?

如果是后者,我会为每个横幅或文本字段创建一个数组,并在该数组中存储您要记录的属性的当前值。所以,例如:

var A:Array = new Array
A.push(textfield1.text)  

会将textfield1中的当前文本放入数组A的第一个索引位置。最初添加文本时可以调用一小段代码(按一下按钮或其他任何内容)。之后,如果你想要那个文本,你可以像

那样做
textfield1.text = A[0]   

假设您的旧文本位于数组的第一个索引位置。

如果要记住程序运行之间的值,请使用 SharedObject 将值写入磁盘。在这里写下来太多了 - 查阅它!