Hello? everyone
i have a problem with removing child. In my programm i remove child on event and add this child again in another button event, but this child adds with previous event graphic. How can i clear child?
here code
import com.greensock.*;
import com.greensock.easing.*;
var mcCont:MovieClip = new MovieClip();
var mcMain:MovieClip = new MovieClip();
var format:TextFormat = new TextFormat();
var XML_URL:String;
var mcName:String;
format.color = 0x000000;
format.font = "Arial";
format.size = 15;
format.bold = true;
format.kerning = true;
addChild(mcMain);
fed.addEventListener(MouseEvent.CLICK, showSub);
mun.addEventListener(MouseEvent.CLICK, showSub);
function showSub(e:Event) {
switch(e.target.name) {
case "mun":
if(mcMain.getChildByName("mc")) { trace("must remove MC"); mcMain.removeChild(mcMain.getChildByName("mc")); }
e.target.removeEventListener(MouseEvent.CLICK, showSub);
fed.addEventListener(MouseEvent.CLICK, showSub);
XML_URL = "http://wellctec.ru/gradstud/xml.php?id=2";
break;
case "fed":
if(mcMain.getChildByName("mc")) { trace("must remove MC"); mcMain.removeChild(mcMain.getChildByName("mc")); }
e.target.removeEventListener(MouseEvent.CLICK, showSub);
mun.addEventListener(MouseEvent.CLICK, showSub);
XML_URL = "http://wellctec.ru/gradstud/xml.php?id=1";
break;
}
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
}
function xmlLoaded(e:Event):void {
var i:Number = 0;
var myXML:XML = new XML();
mcMain.addChild(mcCont);
mcCont.name = "mc";
myXML = XML(e.target.data);
var xmlDoc:XMLDocument = new XMLDocument();
xmlDoc.ignoreWhite = true;
var menuXML:XML = XML(e.target.data);
xmlDoc.parseXML(menuXML.toXMLString());
var yPl:Number = 60;
var xPl:Number = 10;
var yMove:Number = 40;
var xCh:Number = 130;
var myTimeline:TimelineLite = new TimelineLite();
for each (var MenuItem:XML in myXML.MenuItem) {
var mc:MovieClip = new MovieClip();
var myText:TextField = new TextField();
var listLabel:String = MenuItem.itemLabel.toString();
myText.autoSize = TextFieldAutoSize.LEFT;
//myText.embedFonts = true;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.defaultTextFormat = format;
myText.selectable = false;
myText.mouseEnabled = false;
myText.text = listLabel;
mcCont.alpha = 0;
mcCont.addChild(mc);
mc.addChild(myText);
mc.buttonMode = true;
if((i%7)==0) { yPl = yPl + yMove; xPl = 10;}
mc.x = xPl;
mc.y = yPl;
xPl = xPl + xCh;
myTimeline.append( new TweenLite(mc, 0.6, {y:"-5", alpha:1, ease:Elastic.easeOut}));
i++;
}
}