A ver, al final he llegado a esto, que no funciona del todo bien, ya que el posicionamiento va en funcion del mc anterior, así que la segunda tanda de albumes me la carga debajo de la primera y así sucesivamente ¿alguna idea para arreglarlo?.
Este es el código que tengo:
Código :
stop();
_global.selG;
_global.total;
_global.albums;
var albumPages:Number;
var currAlbPage = 0;
//cargamos los mc's (desde min, hasta max) y los posicionamos
function loadMCs(min,max){
var posCol1:Number = 1.0;
var posCol2:Number = 300.0;
for(var i:Number=min;i<max;i++){
_root.attachMovie("gAll","gAll"+i,getNextHighestDepth());
_root["gAll"+i].mc.galTitle_txt.text=albums[i].attributes.title;
_root["gAll"+i].mc.galDesc_txt.text=albums[i].attributes.description;
/*Las dos líneas que siguen, calculan la posición en la que deben
aparecer los movieClips de las galerías*/
_root["gAll"+i]._x=posCol1*Math.abs((i%2)-1)+posCol2*(i%2);
_root["gAll"+i]._y=120.0*(i-(i%2))/2;}
}
//borramos todos los mcs (desde min, hasta max)
function Clean(min,max){
//eliminamos todos los elementos del frame antes de pasar al siguiente
for(var x:Number=min;x<max;x++){
clip = eval("gAll"+x);
unloadMovie(clip);
}
//nos vamos al frame correspondiente
_root.gotoAndStop("photos");
}
var xmlData:XML=new XML();
xmlData.ignoreWhite=true;
xmlData.load("gallery1.xml");
xmlData.onLoad=function(ok){
if(ok){
_global.total= xmlData.firstChild.childNodes.length;//total de albumes
_global.albums = xmlData.firstChild.childNodes;//datos de los albumes
albumPages = Math.abs(xmlData.firstChild.childNodes.length/6);
if(_global.total>5){
_root.loadMCs(0,6);}
else{
_root.loadMCs(0,_global.total);}
/*Asignamos a todos los botones del mc de galeria, la funcion
de saltar al frame de visualizacion y marcar la galería seleccionada*/
_root["gAll"+i].btn.onPress=function(){
//establecemos la galería que ha sido seleccionada
_global.selG=String(this._parent).substr(-1);
_root.Clean(6);
}
}
else{
trace("Error loading XML");}
}
//Aquí es donde cargamos el "album siguiente"
next_btn.onPress=function(){
if(currAlbPage<albumPages){
min = currAlbPage*6;
max = min+5;
_root.Clean(min,max);
currAlbPage++;
min = currAlbPage*6;
max = min+5;
_root.loadMCs(min,max);}
else{
this.enabled=false;}
}
//Aquí es donde cargamos el "album anterior"
prev_btn.onPress=function(){
if(currAlbPage!=0){
min = currAlbPage*6;
max = min+5;
_root.Clean(min,max);
currAlbPage--;
min = currAlbPage*6;
max = min+5;
_root.loadMCs(min,max);}
else{
this.enabled=false;}
}
stop();