此代码生成机场符号作为更大的演示文稿的一部分。这很好用,但是当我改变框架时,物体不会消失,我希望它们能够消失。
我在另一个框架中尝试了不同的方法,但无论我做什么,我都会收到错误:"通过带有静态类型Class的引用调用可能未定义的方法removeChild。"
我对AS3很陌生,所以请记住:)
谢谢。以下是我的代码。
for (var key:Object in Airports)
{
var MyAirport = new airport();
MyAirport.x = Airports[key]["x"];
MyAirport.y = Airports[key]["y"];
MyAirport.width = 17;
MyAirport.height = 17;
addChild(MyAirport)
MyAirport.addEventListener(MouseEvent.CLICK, this.clickHandler)
}
答案 0 :(得分:0)
在构建每个场景时,将每个场景的所有动画片段放入数组中。然后你可以遍历那个数组并通过调用一个清理函数删除它们:
function cleanupView():void
{
for( var i:int = 0; i < collectedMovieClipsArray; i++ )
{
var parentContainer:MovieClip = collectedMovieClipsArray[ i ].parent as MovieClip;
parentContainer.removeChild( collectedMovieClipsArray[ i ] );
}
}
作为MovieClip 部分我没有必要。
答案 1 :(得分:0)
感谢您的回答。但是,我使用以下行选择了一个简单的路径:
this.parent.visible = false
这隐藏了所有的MovieClip 不过,我会尝试实现你的代码。