//Array de la descripcion de las imagenes
info = new LoadVars();
info.load("imagenes/descripcion_es.txt");
info.onLoad = function(leido) {
if (leido) {
descrip = new Array();
for (j=1; j<=info.total; j++) {
descrip[j] = this["info"+j];
}
}
};
/**********************************************************************************/
/**********************************************************************************/
/*BASE DE DATOS PARA CARGA DE IMAGENES
/*Los nombres son los mismos para los thumbnails y para las fotos grandes*/
//////////////////*********************************//////////////////////***********/////////////////////
****************************///////////////////////**************///////////////////////////////***********//////////////////////////*//////////////////////**************///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//declarando este array el sliding funciona
var picnames:Array = ["01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg", "07.jpg", "08.jpg", "09.jpg", "10.jpg", "11.jpg", "12.jpg", "13.jpg", "14.jpg"];
var dirreccion:String;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////En Cambio cuando le hago de esta forma no me sirve
XML.prototype.ignoreWhite = true;
var dataproyectos:XML=new XML();
dataproyectos.load("variedades.xml");
dataproyectos.onLoad=function(leido){
if(leido){
var datos=this.firstChild;
var total = this.firstChild.childNodes.length;
for(h=0;h<total;h++){
direccion=datos.childNodes[h].attributes.thumb;
picnames.push(direccion);
trace(picnames);
}
}
}
/**********************************************************************************/
// folder donde estan las imagenes grandes
var PICPATH:String = "imagenes/proyectos/";
// folder donde estan los thumbnails
var PICPATH2:String = "imagenes/proyectos/thumbs/";
// numero de imagenes en la bbd
var NPICS:Number = picnames.length;
// numero de imagenes a cargarse
var PICX:Number = 0;
// posicion de las imagenes grandes en X
var PICY:Number = 65;
// posicion de las imagenes grandes en X
var THUMBHOLDERX:Number = 0;
// posicion de las imagenes grandes en X
var THUMBHOLDERY:Number = 595;
// ancho de los thumbnails
var THUMBW:Number = 60;
// alto de los thumnails
var THUMBH:Number = 45;
// margen entre cada thumbnail
var MARGIN:Number = 10;
// suma aproximada de bytes de todos las thumnails (x2)
var TOTALBYTES:Number = 212000;
// numero maximo de pixels para mover el slider (en frames)
var MAXPIXELS:Number = 12;
// posicion x de la mascara
var MASKX:Number = 0;
// ancho de la mascara
var MASKW:Number = 950;
// posicion y de la mascara
var MASKY:Number = 560;
// alto de la mascara
var MASKH:Number = 300;
// variable para ir comprobando cuantas imagenes se van cargando
var totalloaded:Number = 0;
// index en el array de las imagenes, usado para la carga
var ipic:Number;
// set up loader, an instance of MovieClipLoader
var loader:MovieClipLoader = new MovieClipLoader();
// use the main timeline to listen to and respond to loader's broadcast events
loader.addListener(this);
/********* Funciones definidas, incluye funcion inicial **********/
// handler para el rollover en thumbnail
function grow() {
this.onEnterFrame = function() {
if (this._width<THUMBW*1.2) {
this._x -= this._width*.025;
this._y -= this._height*.025;
this._width *= 1.05;
this._height *= 1.05;
//pct_txt.text = ":: "+descrip[this.i+1]+" ::";
} else {
delete this.onEnterFrame;
}
};
}
// handler para el rollout en el thumbnail
function shrink() {
this.onEnterFrame = function() {
if (this._width>THUMBW) {
this._width /= 1.05;
this._height /= 1.05;
this._x += this._width*.025;
this._y += this._height*.025;
} else {
delete this.onEnterFrame;
}
};
}
// funcion para mover el thumbnail en el slider ("this" = thumbs_mc)
function sliderControl() {
var w:Number = this._width/2;
var hw:Number = mask_mc._width/2;
var npixels:Number;
// solo cuando el mouse esta sobre la mascara del slider
if (_ymouse>mask_mc._y && _ymouse<mask_mc._y+mask_mc._height) {
// cuando el mouse esta sobre la mitad izquierda del slider
if (_xmouse>mask_mc._x && _xmouse<mask_mc._x+hw) {
npixels = (hw-_xmouse)/hw*MAXPIXELS;
this._x += npixels;
if (this._x>=0) {
this._x = this._x-w;
}
// cuando el mouse esta sobre la mitad izquierda del slider
} else if (_xmouse>mask_mc._x+hw && _xmouse<mask_mc._x+mask_mc._width) {
npixels = (_xmouse-hw)/hw*MAXPIXELS;
this._x -= npixels;
if (this._x<=-w) {
this._x = this._x+w;
}
}
}
}
// movie de caja con esquinas redondeadas para mostrar texto de descripcion
attachMovie("case_texto", "case_texto", 998);
// posicion del movie
case_texto._x = 964/2;
case_texto._y = 558;
// cuando se hace release en el thumbnail
function openPic() {
//carga de la imagen
pic_mc.loadMovie(PICPATH+picnames[this.i]);
//aparece movie loading
cargador._visible = true;
//carga la descripcion de la imagen a cargar
pct_txt.text = ":: "+descrip[this.i+1]+" ::";
//ancho del la descripcion
ancho = pct_txt._width;
//posicion del txt que carga la descripcion y se centra en el Stage
pct_txt._x=(964/2)-(ancho/2);
// hace que el movie cresca a lo largo con movimiento suave
case_texto.onEnterFrame=function(){
case_texto._width+=((ancho+50)-case_texto._width)/4;
}
}
// asignacion de eventos a handlers (llama a todos los jpg cuando estan cargados)
function setupHandlers() {
thumbs_mc.onEnterFrame = sliderControl;
for (var i:Number = 0; i<NPICS*2; i++) {
thumbs_mc["mc"+i].onRollOver = grow;
thumbs_mc["mc"+i].onRollOut = shrink;
thumbs_mc["mc"+i].onRelease = openPic;
}
}
// funcion listener para broadcast mensaje 'hecho' (for each pic)
// el onLoadInit es ejecutado cuando el movieclip ha sido cargado en _mc Y
// sus datos de altura y anchura están disponibles.
// (_mc = el movieclip cargado)
// esta rutina pone el tamaño y la posición de cada clip como este jpg
// is loaded and starts the next one loading. When all have been loaded,
function onLoadInit(_mc:MovieClip) {
// le da estas caracteristicas cuando la imagen se ha cargado:
_mc._width = THUMBW;
_mc._height = THUMBH;
// para claridad de la imagen
_mc._alpha = 99;
// (usado por openPic para saber que imagen se va a abrir)
_mc.i = (ipic>=NPICS ? ipic-NPICS : ipic);
// incluye el tamanio (b) en la variable totalloaded
totalloaded += loader.getProgress(_mc).bytesTotal;
// ahora carga el proximo (si hay mas) o le incluye los handlers si esta completo
ipic++;
if (ipic == NPICS*2) {
// carga una foto aleatoria
dir=Math.floor(Math.random()*NPICS)
pic_mc.loadMovie(PICPATH+picnames[dir]);
//pone la descripcion de la foto que se cargo aleatoriamente
pct_txt.text = ":: "+descrip[dir+1]+" ::";
//crea el nuevo ancho del texto
ancho = pct_txt._width;
//lo centra en el Stage
pct_txt._x=(964/2)-(ancho/2);
//hace crecer el movie donde se posa el txt
case_texto.onEnterFrame=function(){
case_texto._width+=((ancho+50)-case_texto._width)/4;
}
//carga de las imagenes
onEnterFrame = function () {
this.pic_mc.percent = (this.pic_mc.getBytesLoaded()/this.pic_mc.getBytesTotal())*100;
if (this.pic_mc.percent == 100) {
cuenta = 0;
onEnterFrame = function () {
//trace(_root.texto_proyectos._alpha);
cuenta++;
_root.texto_proyectos._alpha += 5;
if (cuenta>=100) {
_root.texto_proyectos._alpha = 100;
delete this.onEnterFrame;
}
};
}
};
// carga la funcion para asignarles las demas funciones
setupHandlers();
} else if (ipic>=NPICS) {
// carga un jpg en el thumbnail repetido (cuando esta en el cache)
loader.loadClip(PICPATH2+picnames[ipic-NPICS], thumbs_mc["mc"+ipic]);
} else {
// load jpg en el thumbnail
loader.loadClip(PICPATH2+picnames[ipic], thumbs_mc["mc"+ipic]);
}
}
function onLoadProgress(_mc:MovieClip, loaded:Number) {
var loadedsofar:Number = totalloaded+loaded;
//muestra el progreso de carga
//pct_txt.text = Math.floor(loadedsofar/TOTALBYTES*100)+"% pocentaje";
cargador._visible = true;
}
function init() {
// crea el sonstén para las imagenes
createEmptyMovieClip("pic_mc", 1);
pic_mc._x = PICX;
pic_mc._y = PICY;
// crea (y dibuja) el sosten para los thumnails
createEmptyMovieClip("thumbs_mc", 2);
thumbs_mc.beginFill(0, 100);
// black
thumbs_mc.moveTo(0, 0);
thumbs_mc.lineTo(2*(MARGIN+THUMBW)*NPICS, 0);
thumbs_mc.lineTo(2*(MARGIN+THUMBW)*NPICS, THUMBH);
thumbs_mc.lineTo(0, THUMBH);
thumbs_mc.endFill();
// dibuja el sosten del thumb en 0, 0 y lueo lo mueve para hacerlo un punto de registro
thumbs_mc._x = THUMBHOLDERX;
thumbs_mc._y = THUMBHOLDERY;
createEmptyMovieClip("mask_mc", 3);
mask_mc.beginFill(0, 100);
mask_mc.moveTo(0, 0);
mask_mc.lineTo(MASKW, 0);
mask_mc.lineTo(MASKW, MASKH);
mask_mc.lineTo(0, MASKH);
mask_mc.endFill();
mask_mc._x = MASKX;
mask_mc._y = MASKY;
thumbs_mc.setMask(mask_mc);
// crea el texto para poner la descripcion
createTextField("pct_txt", 999, 0, 560, 0, 20);
var tf:TextFormat = new TextFormat();
tf.align = "center";
tf.size = 14;
tf.bold = true;
tf.font = "Century Gothic";
tf.color = 0xffffff;
pct_txt.setNewTextFormat(tf);
pct_txt.autoSize = true;
pct_txt.selectable = false;
pct_txt._x = (964/2);
// crea movieclips vacios para cargar los thumbnails en cada uno de ellos
// Hace el doble de numero de las imagenes para que el slider sea continuo
for (var i:Number = 0; i<NPICS*2; i++) {
var mc:MovieClip = thumbs_mc.createEmptyMovieClip("mc"+i, i+1);
mc._x = i*(MARGIN+THUMBW);
mc._y = 0;
}
// el primer elemento en el array de las imagenes
ipic=0;
// empieza a cargar las imagenes (ipic es inicializado en 0)
loader.loadClip(PICPATH2+picnames[ipic], thumbs_mc["mc"+ipic]);
}
/*********Llama a la funcion init para empezar la pelicula *****************/
init();
Si me pueden ayudar con esto, porque he probado de diferentes maneras y me doy cuenta que el Array tiene que ver con el problema que tengo
