explico mi problema.
estoy trbajando con una galeria en flash con XML.. tengo categorias, y cada categoria carga muchas mininaturas q al clikearlas visualizan la imagen ampliada..
Mi problema es q cada XML contiene cientos de imagenes, por lo cual si en el transcurso de la carga de estas se accede a otra categoria q carga otro XML, este no comienza asta q el anterior (q ya se dejo de usar por q cambiamos de categoria)alla termina su carga..
entonces como no puede resolver el cancelar la carga de un XML al cambiar de categoria, lo q se me ocurrio es q no se cargen todas las miniaturas a la vez, si no q lo hagan mientras vallan apareciendo en patalla (desplazando un scroll en el que se encuentran).
pego el codigo.. aver si alguien pude ayudarme o darme alguna otra idea para resolver mi problema..
import mx.transitions.Tween;
import mx.transitions.easing.*;
var lstThumb:Object = new Object();
var mclThumb:MovieClipLoader = new MovieClipLoader();
var lstImg:Object = new Object();
var mclImg:MovieClipLoader = new MovieClipLoader();
var space:Number = 0;
var speed:Number = 2;
var xmlFile:String = "apertura.xml";
var xml:XML = new XML(xmlFile);
var idAtual:Number = new Number();
//
lstThumb.onLoadInit = function(mc:MovieClip) {
mc._parent.pre._visible = false;
var a:Tween = new Tween(mc, "_alpha", Regular.easeOut, 1, 150, 1, true);
mc._xscale = 70;
mc._yscale = 70;
};
mclThumb.addListener(lstThumb);
//
lstImg.onLoadStart = function(mc:MovieClip) {
mc._alpha = 0;
pre.bar._xscale = 0;
pre._visible = false;
};
lstImg.onLoadProgress = function(mc:MovieClip, loaded:Number, total:Number) {
var pct:Number = Math.round(loaded/total*100);
pre.bar._xscale = pct;
};
lstImg.onLoadInit = function(mc:MovieClip) {
pre._visible = false;
mc._x = (Stage.width-mc._width)/2;
mc._y = 108.2;
var amc:Tween = new Tween(mc, "_alpha", Regular.easeOut, 1, 150, 1, true);
amc.onMotionFinished = function() {
var num:String = new String(fn[idAtual].attributes.caption);
if (num == undefined || num == "undefined" || num == "") {
} else {
caption.valuew = num;
}
};
};
mclImg.addListener(lstImg);
xml.ignoreWhite = true;
xml.onLoad = function(sucess) {
if (sucess) {
fn = xml.firstChild.childNodes;
total = fn.length;
for (var j:Number = 0; j<total; j++) {
var btn:MovieClip = menu.thumb.attachMovie("thumb", "thumb"+j, j);
btn._x = (btn._width+space)*j;
btn.id = j;
btn.onRollOver = function() {
this.border.gotoAndStop(2);
};
btn.onRollOut = function() {
this.border.gotoAndStop(1);
};
btn.onRelease = function() {
loadImg(this.id);
};
mclThumb.loadClip(fn[j].attributes.thumb,btn.img);
}
loadImg(idAtual);
//
} else {
trace("Error!");
}
};
xml.load(xmlFile);
function loadImg(id:Number) {
idAtual = id;
for (var j:Number = 0; j<total; j++) {
menu.thumb["thumb"+j].enabled = true;
menu.thumb["thumb"+j].border.gotoAndStop(1);
}
menu.thumb["thumb"+id].enabled = false;
menu.thumb["thumb"+id].border.gotoAndStop(3);
texto.text = (idAtual+1);
var ha:Tween = new Tween(holder, "_alpha", Regular.easeOut, holder._alpha, 0, 1, true);
ha.onMotionFinished = function() {
mclImg.loadClip(fn[id].attributes.src,holder);
};
}
//
this.onEnterFrame = function() {
if (!menu.hitTest(_root._xmouse, _root._ymouse)) {
var bm:Tween = new Tween(menu, "_y", Regular.easeOut, menu._y, (Stage.height-20), 1, true);
menu.thumb.scroll = false;
} else {
var bm:Tween = new Tween(menu, "_y", Regular.easeOut, menu._y, (Stage.height-menu._height), 1, true);
menu.thumb.scroll = true;
}
if (_root._ymouse>500 and _root._ymouse<600) {
myVar=true;
}
with (menu.thumb) {
if (_width>Stage.width) {
if(_root._xmouse>0 and _root._xmouse<20 and myVar==true ){
_x = _x+((0-(_root._xmouse/Stage.width*(_width-Stage.width+100)-(1-_root._xmouse/Stage.width)*10))-_x)*speed/100;
}
if(_root._xmouse>800 and _root._xmouse<1024 and myVar==true ){
_x = _x+((0-(_root._xmouse/Stage.width*(_width-Stage.width+10)-(1-_root._xmouse/Stage.width)*10))-_x)*speed/3000;
}
} else {
_x = (Stage.width-_width)/2;
}
}
};