【发布时间】:2011-07-13 22:55:22
【问题描述】:
下面显示了如何在影片剪辑中添加子项。
ebd.target.addChild(info_grd);
movieclip info_grd中有一个名为my_btn的按钮。我想删除movieclip info_grd.parent
【问题讨论】:
标签: flash actionscript-3 actionscript
下面显示了如何在影片剪辑中添加子项。
ebd.target.addChild(info_grd);
movieclip info_grd中有一个名为my_btn的按钮。我想删除movieclip info_grd.parent
【问题讨论】:
标签: flash actionscript-3 actionscript
代码类似于:
delete_btn.addEventListener(MouseEvent.CLICK , del);
function del(e:MouseEvent)
{
this.parent.removeChildAt(0);
}
我在这里做的是从库中添加一个影片剪辑并向其中添加一个子级,当我单击删除时,它将删除父级。
var mm:mm1 = new mm1();
//Adding it to stage
addChild(mm);
var m2:mm2 = new mm2();
//adding the child to mm
mm.addChild(m2);
【讨论】:
this.parent.removeChildAt(0); 在大括号中我们输入了movieclip level对吧?
Amir 的代码假定只有一个孩子,因此当您添加更多孩子时将无法工作。
此代码将执行正确的行为:
deleteButton.addEventListener(MouseEvent.CLICK , removeFromParent);
function removeFromParent(event:MouseEvent)
{
var child:DisplayObject = event.currentTarget as DisplayObject;
var parent:DisplayObjectContainer = child.parent;
parent.removeChild(child);
}
【讨论】:
event.target.parent.parent.removeChild(event.target.parent.parent);.或者有什么方便的方法
event.target,大多数时候它不是你所期望的。此外,您正试图从自身中删除一个项目,这是不合逻辑的。