Хемуль, спасибо за пример, сделала вот так, работает, но со временем зависает, у меня есть подозрение, что скорей всего что-то где-то не удаляется, за полчаса флэха зависает полностью, подскадите где что нужно убивать?

Код:
function put(banners_arr, qq) {
curr = _root["obj_"+qq];
var curr1:MovieClipLoader = new MovieClipLoader();
trace(banners_arr);
var DISSOLVE_INTERVAL:Number = 10;
var PICTURES_NUMBER:Number = banners_arr.length;
var frameCounter:Number = 0;
var currentPicture:Number = 0;
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
trace("onLoadInit "+target_mc);
target_mc._x = _root.Objects[qq].x;
target_mc._y = _root.Objects[qq].y;
target_mc._width = _root.Objects[qq].w;
target_mc._height = _root.Objects[qq].h;
};
addPicture(currentPicture).frameCounter = DISSOLVE_INTERVAL;
function addPicture(pictureNum):MovieClip {
var newPicture = curr.createEmptyMovieClip("newPicture", this.getNextHighestDepth());
newPicture.frameCounter = 1;
newPicture.onEnterFrame = function() {
trace("on EnterFrame new Picture"+ this.frameCounter);
this.frameCounter++;
};
SHOW_INTERVAL = 31*banners_arr[pictureNum].time;
var newPictureName:String = banners_arr[pictureNum].b_name;
for (v in curr) {
curr1.unloadClip(curr[v]);
}
curr1.loadClip(newPictureName, newPicture);
curr1.addListener(mclListener);
newPicture.frameCounter = 1;
return newPicture;
}
curr.onEnterFrame = function() {
if (PICTURES_NUMBER<>1) {
if (frameCounter<=DISSOLVE_INTERVAL) {
trace("this "+this.newPicture);
this.newPicture._alpha = frameCounter*(100/DISSOLVE_INTERVAL);
}
if (frameCounter>SHOW_INTERVAL) {
for (v in this) {
this[v].removeMovieClip();
}
trace("теперь внутри");
for (v in this) {
trace("-"+this[v]);
}
currentPicture++;
if (currentPicture>PICTURES_NUMBER-1) {
currentPicture = 0;
}
trace("PICTURES_NUMBER "+PICTURES_NUMBER);
addPicture(currentPicture);
frameCounter = 1;
} else {
frameCounter++;
}
}
};
}