事实上,这是可能的,而且非常容易。
1) 单击一个对象并获取类名。
2)创建该类的新实例并将其放入显示列表中。
3) 将每一帧上的新实例移动到鼠标坐标,直到检测到MouseEvent.MOUSE_UP
事件。
您将不得不调整代码以适应您的项目,但这就是它的方式。我还没有测试过,但它应该可以工作。
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
var duplicate;
var className;
original.addEventListener(MouseEvent.MOUSE_DOWN,duplicateMe);
public function duplicateMe(event):void {
className:Class = Class(getDefinitionByName(getQualifiedClassName(event.target)));
duplicate = new className;
addChild(duplicate);
duplicate.addEventListener(MouseEvent.MOUSE_UP,endDrag);
duplicate.addEventListener(MouseEvent.ENTER_FRAME,update);
}
public function update(event):void {
event.target.x = mouseX;
event.target.y = mouseY;
}
public function endDrag(event):void {
event.target.removeEventListener(MouseEvent.ENTER_FRAME,update);
}