好吧,这已经让我在过去的几个小时里疯了,我知道有一个简单的答案。删除影片剪辑as3
我有一个scrollPane,它有一个名为right_container_mc的影片剪辑,因为它是源代码。 在这个right_container_mc里面,我还有其他一些名为execiseBox的影片剪辑,它们从具有for循环的数组中被添加(在舞台上的正确位置)。 每个练习框都有一个名为close_btn的按钮符号。
首先,我不确定这是达到此目的的最佳方法,因此请随时提出更好的方法!
我想要做的是,当这个close_btn被点击时,从数组中删除特定的exerciseBox movieclip,然后从舞台中再次循环数组,以便所有练习框动画片段更新它们在舞台上的位置。
我无法获取对影片剪辑的引用,因为它是嵌套的,以便将它从数组和阶段中删除。这是我迄今为止的代码,需要添加删除和更新部分。另外我应该在数组循环每次运行之前删除所有当前的exerciseBox影片剪辑的实例?
任何帮助,非常感谢。
function addMovieClipsToStage(event:MouseEvent):void
{
scrollPaneRight.source = right_container_mc;
exerciseBox = new Exercisebox();
exerciseBox.close_btn.addEventListener(MouseEvent.CLICK, onRemoveBox);
boxArray.push(exerciseBox);
sortBoxes();
scrollPaneRight.update();
}
function onRemoveBox(event:MouseEvent):void
{
}
function sortBoxes():void
{
for (var i:int =0; i<boxArray.length; i++)
{
right_container_mc.addChild(exerciseBox);
exerciseBox.x = 0;
exerciseBox.y = ((115 + 3)*i);
}
}
我得到以下编译器错误: 1118:静态类型对象的值隐式强制为可能无关的类型闪存。显示:的DisplayObject。 – 2010-02-12 18:21:09
好吧,我刚刚在event.currentTarget上做了一个跟踪,它显示了简单的按钮。我将上面的内容更改为right_container_mc.removeChild(event.currentTarget.parent);这似乎有效。现在我只需要获取剩余的影片剪辑即可更新位置 – 2010-02-12 18:28:42