|    
			
				26/02/2010, 08:57
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: enero-2007 Ubicación: Madrid 
						Mensajes: 57
					 Antigüedad: 18 años, 9 meses Puntos: 3 |  | 
  |  Respuesta: Problema en Galeria fotografica  
  Os pongo el codigo de la galeria, esta cogida de otra galeria y retocada para que quedara a mi gusto, a ver si ahi encontrais el fallo  Cita:  // acciones en fotograma 1stop();
 System.useCodepage = true;
 XML.prototype.ignoreWhite = true;
 import mx.transitions.Tween;
 // separacion-> distancia entre las imágenes
 // tanto horizontal como vertical
 var separacion:Number = 120;
 // vbles para pasar de página
 var pagina_actual:Number = 1;
 var num_paginas:Number;
 // array donde metemos los elementos del XML
 var IMG_array:Array;
 
 // objeto XML que carga la lista de miniaturas
 var miniaturasXML:XML = new XML();
 miniaturasXML.onLoad = mostrarMiniaturas;
 miniaturasXML.load("/images/galeria_actriz/carga.xml");
 // funcion que se ejecuta al cargar el XML
 function mostrarMiniaturas():Void {
 // contadores de columna y fila para
 // disponer las miniaturas
 var fila:Number = 0;
 var col:Number = 0;
 // paso los datos del XML al array
 IMG_array = this.firstChild.childNodes;
 // como caben 9 fotos por página podemos
 // saber el núm de páginas necesarias para
 // mostrar todas las fotos
 num_paginas = Math.ceil(IMG_array.length/9);
 // creo el clip donde meteremos todas las miniaturas
 var lienzo:MovieClip = createEmptyMovieClip("lienzo_miniaturas", getNextHighestDepth());
 // lo posiciono donde nos conviene
 lienzo._x = 5;
 lienzo._y = 5;
 // y lo enmascaro con el clip situado en la
 // capa mascara. se enmascara para hacer el deslizamiento del
 // clip cuando tengamos muchas miniaturas y no entren todas a
 // la vez en pantalla (nuestro caso)
 lienzo.setMask(mascara_mc);
 // recorro el array que contiene la lista con los nombres de
 // los archivos de las miniaturas e invoco la función crearMiniatura
 // que es la que carga la imagen, la recoloca, le pone un pequeño
 // marco y le asigna las acciones para verla ampliada
 for (var k:Number = 0; IMG_array[k]; k++) {
 // extraigo la ruta del archivo de imagen
 //var ruta:String = "minis/"+IMG_array[k].attributes.nombre;
 // como sólo tengo tres columnas, cuando llegue a
 // la tercera, avanzo una fila y retorno a la primera
 if (col>2) {
 col = 0;
 fila++;
 }
 // creo la miniatura. extraigo la ruta del archivo de imagen
 // y la paso como tercer parámetro
 crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
 col++;
 }
 }
 
 function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
 // bajo_clip es el clip que contendrá el marco de la miniatura
 var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+fil  aF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
 // clip contendrá la imagen
 var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+fil  aF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
 // para cargar la miniatura definimos un objeto MovieClipLoader
 // y un objeto detector de eventos
 var mi_mcl:MovieClipLoader = new MovieClipLoader();
 var miListener:Object = new Object();
 mi_mcl.addListener(miListener);
 clip.valor = "aaa";
 // cargamos la imagen
 mi_mcl.loadClip("/images/galeria_actriz/minis/"+ruta, clip);
 miListener.onLoadStart = function(target_mc:MovieClip) {
 // cuando comienza la carga de la imagen
 // ponemos al _alpha a 0
 target_mc._alpha = 0;
 };
 miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
 // aquí podéis poner acciones para mostrar una precarga,
 // este caso no lo hemos considerado oportuno
 };
 // cuando ya se ha completado la carga y tenemos disponible el clip
 miListener.onLoadInit = function(target_mc:MovieClip) {
 // recolocamos la imagen (todavía está oculta, con _alpha=0)
 target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5;
 target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
 // recolocamos el marco que rodea a la foto
 bajo_clip._x = target_mc._x-5;
 bajo_clip._y = target_mc._y-5;
 // dibujamos el marco
 with (bajo_clip) {
 beginFill(0x6ac1d1);
 lineStyle(1, 0xEEEEEE, 100);
 lineTo(target_mc._width+10, 0);
 lineTo(target_mc._width+10, target_mc._height+10);
 lineTo(0, target_mc._height+10);
 lineTo(0, 0);
 endFill();
 }
 // al pinchar sobre el área del marco,
 // mostramos la foto grande con la función
 // verFotoGrande
 bajo_clip.onRelease = function() {
 verFotoGrande(ruta);
 };
 // muestro la miniatura animando el _alpha hasta 100
 var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
 };
 }
 
 function verFotoGrande(ruta:String) {
 clearInterval(intervaloColor);
 // creo el clip donde irá la foto grande en una profundidad fija
 // para que se reemplace cada vez que pincho en una miniatura
 var grande:MovieClip = createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
 // igual con el clip que contendrá el marco
 var bajo_grande:MovieClip = createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
 // posición vertical fija
 grande._y = 5;
 // para cargar la foto grnade definimos otro objeto MovieClipLoader
 // y otro objeto detector de eventos
 var grande_mcl:MovieClipLoader = new MovieClipLoader();
 var grandeListener:Object = new Object();
 grande_mcl.addListener(grandeListener);
 // cargo la foto grande
 grande_mcl.loadClip("/images/galeria_actriz/originales/"+ruta, grande);
 grandeListener.onLoadStart = function(target_mc:MovieClip) {
 // aplico una transformación de color que deja el clip
 // tintado de blanco
 myColor = new Color(target_mc);
 myColorTransform = new Object();
 myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
 myColor.setTransform(myColorTransform);
 
 };
 grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
 // aquí podéis poner acciones para mostrar una precarga,
 // este caso no lo hemos considerado oportuno
 };
 grandeListener.onLoadInit = function(target_mc:MovieClip) {
 // recolocamos la imagen (todavía está oculta)
 target_mc._x = 382+Math.round((315-target_mc._width)*0.5);
 // recolocamos el marco que rodea a la foto grande
 bajo_grande._x = target_mc._x-5;
 bajo_grande._y = target_mc._y-5;
 // dibujamos el marco
 with (bajo_grande) {
 beginFill(0x6ac1d1);
 lineStyle(1, 0xEEEEEE, 100);
 lineTo(target_mc._width+10, 0);
 lineTo(target_mc._width+10, target_mc._height+10);
 lineTo(0, target_mc._height+10);
 lineTo(0, 0);
 endFill();
 }
 // con estas rutinas hacemos la transición de color desde el blanco
 var indiceColor:Number = 255;
 intervaloColor = setInterval(cambiarColor, 10);
 function cambiarColor() {
 myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
 myColor.setTransform(myColorTransform);
 indiceColor -= 2;
 if (indiceColor == -1) {
 clearInterval(intervaloColor);
 }
 }
 };
 }
 
 // con esta función desplazo el lienzo de las miniaturas para
 // pasar de página
 function moverLienzo(posY:Number):Void {
 var myTween:Tween = new Tween(lienzo_miniaturas, "_y", mx.transitions.easing.Regular.easeOut, lienzo_miniaturas._y, posY, 1, true);
 }
 // deshabilito de inicio el botón de volver atrás
 // ya que se muestra la página 1
 pMenos_btn.enabled = false;
 pMenos_btn._alpha = 30;
    |