PDA

View Full Version : garbage collection


Blade27
02-03-2009, 02:46 PM
Can anyone show me how to remove children and Enterframe function from my carousel ? See code below:

function createGallery(voteImagesArray:Array,voteNamesArray :Array,gallery:MovieClip):void {

for (var i:int = 0; i <xmlList_0.length(); i++) {

imageLoader = new Loader();
imageLoader.load(new URLRequest(voteImagesArray[i]));

imageLoader.name = voteNamesArray[i];
gallery.addChild(canvas);
var target_mc:MovieClip = new Target_mc();
canvas.addChild(target_mc);




TweenLite.from(target_mc, 1, {x:"100",rotation:40, delay: i / 20});
itemArray.push(target_mc);

itemArray[i].buttonMode = true;

itemArray[i].addEventListener(MouseEvent.CLICK, showVote);
itemArray[i].addEventListener(MouseEvent.MOUSE_OVER,lightUp );
itemArray[i].addEventListener(MouseEvent.MOUSE_OUT,lightOff );


target_mc.addChild(imageLoader);
target_mc.name = "gallery1-" +i;
//trace(target_mc.name);
target_mc.itemAngle = Math.PI * 2 / xmlList_0.length() * i;
itemArray[i].addEventListener(Event.ENTER_FRAME, animate);
itemArray[i].addEventListener(MouseEvent.MOUSE_MOVE,follow);

}
}



function animate(e:Event):void {
speed = mouseX / stage.stageWidth * rangeSpeed + minSpeed;
e.currentTarget.x = Math.cos(e.currentTarget.itemAngle) * radiusX + centerX;
e.currentTarget.y = Math.sin(e.currentTarget.itemAngle) * radiusY + centerY;
e.currentTarget.itemAngle += speed;



itemArray.sortOn("y");

for (var i:Number = 0; i < xmlList_0.length(); i++) {
canvas.setChildIndex(itemArray[i], i);
var pct:Number = (itemArray[i].y - minY) / rangeY;
var scale:Number = pct * rangeScale + minScale;
itemArray[i].scaleX = itemArray[i].scaleY = scale;
}
}

I want to navigate to the next frame without the images playing in the bg.
Please help