2012-05-15 29 views
-1

我有在XML按钮菜单removeChild之问题 IM呼叫按钮,温度从库联动 这里是我的代码,我写我该如何removeChild?

 var genButton:butonProba; 

    var i:uint = 0; 

    for each (var page:XML in generacijeXML.gener.generation) { 

     genButton = new butonTest();  

     genButton.butonText.text = [email protected]; 

     genButton.source = page.source.toString(); 

     genButton.butonText.autoSize = TextFieldAutoSize.LEFT; 

     genButton.x = 16 + i*225; 
     genButton.y = -30; 

     genButton.buttonMode = true; 
     genButton.mouseChildren = false; 

     addChild(genButton); 

     i++; 
} 

一切正常.....

现在

当我要做出1个更多按钮,当我点击它,我想删除所有的XML按钮,我打电话之前

我尝试简单的这样

close.addEventListener(MouseEvent.CLICK, closed); 

    function closed(event:Event):void { 
    genButton.removeChild(0); 
} 

close.addEventListener(MouseEvent.CLICK, closed); 

    function closed(event:Event):void { 
    removeChild(genButton); 
} 

但不工作 确实ANY1有想法我怎么能做到这一点???

回答

0

我会在一个容器中添加所有按钮。创建容器作为一个实例成员,并将其添加到舞台的构造函数或您的init方法:

public var buttonContainer:Sprite = new Sprite(); 
addChild(buttonContainer); 

在你的循环中的所有创建的按钮添加到这个容器:

... 
genButton.buttonMode = true; 
genButton.mouseChildren = false; 

buttonContainer.addChild(genButton); 

i++; 

在你点击处理器从容器中取出所有的孩子:

close.addEventListener(MouseEvent.CLICK, closed); 

function closed(event:Event):void { 
    while(buttonContainer.numChildren > 0) 
    { 
      buttonContainer.removeChildAt(0); 
    } 
} 

希望帮助

+0

“我想补充一个容器中的所有按钮。创建容器作为实例成员,并将其添加到构造函数或init方法的阶段中:“我不知道如何做,但我做的像这样var buttonContainer:Sprite = new Sprite(); addChild(buttonContainer);没有公开,它工作正常。非常感谢 – gasjun