Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/03/2009, 05:00
Avatar de engonga
engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 8 meses
Puntos: 8
Respuesta: galeria fotografica

ok ya lo solucioné

pero ahora tengo un problema que es que si quiero poner la galeria dentro de otro flash se me muestra pero no me muestra las fotos

para cargar los flash externos utilizo esto

Código PHP:
var precargador_mcl = new MovieClipLoader();
var 
listener = new Object();
Stage.showMenu false;
listener.onLoadStart = function (target_mc)
{
    
trace ("Iniciando");
    
_root.attachMovie("barra""barra_mc"_root.getNextHighestDepth());
    
_root.barra_mc._y Stage.height 2;
    
_root.barra_mc._x Stage.width 2;
};
listener.onLoadProgress = function (target_mcloadedBytestotalBytes)
{
    
trace ("En progreso");
    var 
_loc2;
    
_loc2 Math.round(loadedBytes 100 totalBytes);
    
_root.barra_mc.gotoAndStop(_loc2);
    
target_mc._visible false;
    
target_mc.stop();
};
listener.onLoadComplete = function (target_mc)
{
    
trace ("ya");
    
_root.barra_mc.removeMovieClip();
    
target_mc._visible true;
    
target_mc.play();
};
precargador_mcl.addListener(listener);
var 
nochache;
cargar_02_03.onRelease = function ()
{
    
nocache "?nocaching=" random(65000);
    
precargador_mcl.loadClip("HONERIA_GALERIA.swf" nocachecaja_mc);
};

stop (); 
y el codigo de la galeria es

Código PHP:
var IMG_array:Array;
// objeto XML que carga la lista de miniaturas
var miniaturasXML:XML = new XML();
miniaturasXML.onLoad mostrarMiniaturas;
miniaturasXML.load("explorar.asp");
// 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 12 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/8);
 
// creo el clip donde meteremos todas las miniaturas
 
var lienzo:MovieClip this.createEmptyMovieClip("lienzo_miniaturas"_root.getNextHighestDepth());
 
lienzo.cacheAsBitmap true;
 
// lo posiciono donde nos conviene
 
lienzo._x 19;
 
lienzo._y 50;
 
// 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 0IMG_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(colfilaIMG_array[k].attributes.nombre);
  
col++;
 }
}
function 
crearMiniatura(columnaF:NumberfilaF:Numberruta:String) {
 
// bajo_clip es el clip que contendrá el marco de la miniatura
 
var bajo_clip:MovieClip lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaFlienzo_miniaturas.getNextHighestDepth());
 
// clip contendrá la imagen
 
var clip:MovieClip lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaFlienzo_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("/honeria/minis/"+rutaclip);
 
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:MovieClipbytesLoaded:NumberbytesTotal: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(0xffffff);
   
lineStyle(10xEEEEEE100);
   
lineTo(target_mc._width+100);
   
lineTo(target_mc._width+10target_mc._height+10);
   
lineTo(0target_mc._height+10);
   
lineTo(00);
   
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.easeOut01002true);
 };
}
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 _root.createEmptyMovieClip("grande_mc"2*IMG_array.length+11);
 
 
// igual con el clip que contendrá el marco
 
var bajo_grande:MovieClip _root.createEmptyMovieClip("bajo_grande_mc"2*IMG_array.length+10);
 
// posición vertical fija
 
grande._y 50;
 
 
// 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("/honeria/originales/"+rutagrande);
 
 
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:100rb:255ga:100gb:255ba:100bb:255aa:100ab:0};
  
myColor.setTransform(myColorTransform);
 };
 
grandeListener.onLoadProgress = function(target_mc:MovieClipbytesLoaded:NumberbytesTotal:Number) {
  
// aquí podéis poner acciones para mostrar una precarga,
  // este caso no lo hemos considerado oportuno
 
};
 
grandeListener.onLoadInit = function(target_mc:MovieClip) {
  
//trace("grandeListener.onLoadInit");
  // 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(0xffffff);
   
lineStyle(10xEEEEEE100);
   
lineTo(target_mc._width+100);
   
lineTo(target_mc._width+10target_mc._height+10);
   
lineTo(0target_mc._height+10);
   
lineTo(00);
   
endFill();
  }
  
  
// con estas rutinas hacemos la transición de color desde el blanco
  
var indiceColor:Number 255;
  
intervaloColor setInterval(cambiarColor10);
  function 
cambiarColor() {
   
myColorTransform = {ra:100rb:indiceColorga:100gb:indiceColorba:100bb:indiceColoraa:100ab:0};
   
myColor.setTransform(myColorTransform);
   
indiceColor -= 2;
   if (
indiceColor == -1) {
    
clearInterval(intervaloColor);
   }
  }
 };
 
bajo_grande.onRelease = function() {
   
obrefoto(ruta);
  };
 }
function 
obrefoto(ruta:String){
 
//getURL("javascript:window.open('/honeria/galeria/originales/"+ruta"')");
 
getURL("javascript:window.open('/honeria/originales/"+ruta+"');void(0);");
 
//getURL("/honeria/galeria/originales/"+ruta);
}
// 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.easeOutlienzo_miniaturas._yposY1true);
}
// deshabilito de inicio el botón de volver atrás
// ya se muestra la página 1
pMenos_btn.enabled false;
pMenos_btn._alpha 30