Comunidad de diseño web y desarrollo en internet online

Cargar swf externo con galeria fotos

Citar            
MensajeEscrito el 19 Nov 2008 10:04 pm
Por favor... ¿alguien puede decirme porque al cargar una galeria externa de un swf se me carga todo bien excepto las fotografias???
Tengo esto en el fotograma donde quiero que aparezca:

Código :

stop();
ruta="galeria";  //ruta de las imagenes
ext=".swf";  //extensión del archivo
total = "1";  //total de imagenes
i = 1;  //contador
carga.load(archivo);
loadMovie(ruta+i+ext, "contenedor");  //carga de la imagen


y un contenedor mc.

¿que hago mal? :cry:

Por aniblab

38 de clabLevel



 

safari
Citar            
MensajeEscrito el 19 Nov 2008 10:49 pm
Cuando una peli se carga en otra, la ruta que manda es la de la principal, asegúrate entonces que las rutas coincidan (o pon ambas pelis en la misma carpeta, y también el html que los contiene)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2008 08:23 am
Ya estan así... tengo el index.swf y galeria1.swf en la misma carpeta, y en esa misma tambien hay 3 carpetas que corresponden a las fotos minis, las fotos a tamaño normal y un archivo asp.

Si pruebo habriendo la galeria1.swf, funciona perfectamente, el problema es cuando el archivo lo llama index.swf, que se ve como carga los margenes de las imagenes y todo, excepto las imagenes.
:(

Por aniblab

38 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Nov 2008 08:42 am
Tendrá alguna referencia a _root que se pierde. Prueba poniendo en el primer frame de tu galería:

_lockroot = true

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2008 08:43 am
He provado esto:

Código :

loadMovieNum("galeria1.swf", 10);
stop ();


y ahora al pulsar para que se vean las fotos, si que aparecen, pero... cuando quiero volver a otro fotograma de la pelicula, se me superponen las fotografias!!

¿porque será que me hace eso? :o

Por aniblab

38 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Nov 2008 08:55 am
y lo que tengo en el 1er fotograma de la pelicula a cargar (galeria1.swf) es esto (le puse el lockroot que me comentabas):

Código :

stop();
_lockroot = true
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;

// separacion-> distancia entre las imágenes
// tanto horizontal como vertical

var separacion:Number = 116;
// 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("asp/verMiniaturas.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/12);

   // creo el clip donde meteremos todas las miniaturas
   var lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());
   lienzo.cacheAsBitmap = true;

   // lo posiciono donde nos conviene
   lienzo._x = 19;
   lienzo._y = 100;

   // 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_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());

   // clip contendrá la imagen
   var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+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("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(0xffffff);
         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 = _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 = 100;
   // 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("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) {

      //trace("grandeListener.onLoadInit");
      // recolocamos la imagen (todavía está oculta)
      target_mc._x = 382+Math.round((550-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(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 se muestra la página 1
pMenos_btn.enabled = false;
pMenos_btn._alpha = 30;

Por aniblab

38 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Nov 2008 04:03 pm

aniblab escribió:

He provado esto:

Código :

loadMovieNum("galeria1.swf", 10);
stop ();


y ahora al pulsar para que se vean las fotos, si que aparecen, pero... cuando quiero volver a otro fotograma de la pelicula, se me superponen las fotografias!!

¿porque será que me hace eso? :o


Porque todo se queda en un mismo nivel, recuerda que loadMovieNum se maneja por niveles y tienes todo en el nivel 10 intenta utilizando

Código :

loadMovie("galeria1.swf")
.

Saludos.

Por Ereb

Claber

1352 de clabLevel

1 tutorial

Genero:Masculino  

México, D.F.

firefox
Citar            
MensajeEscrito el 21 Nov 2008 10:57 am
Nada, que al final conseguí meterla dentro del mismo swf principal y me ha quedao genial.

Gracias por la ayuda igualmente.

CIAO! :)

Por aniblab

38 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.