Comunidad de diseño web y desarrollo en internet online

galeria dinamica (3ª entrega)

Citar            
MensajeEscrito el 12 Feb 2007 12:31 pm
Hola a todos,

Despues de algun problema que otro, he conseguido crear la galería dinámica. El tema es que quería da un paso más y crear un scroll vertical para cuando haya tantas imágenes que el tamaño de la galería supere el tamaño del swf. He intentado varias cosas:

- Crear un swf independiente con el código de la galería y cargarlo mediante un scrollPane en la película principal. Problema: Se descuadra todo

- Crear un movieclip, y en el interior de éste, otro movieclip en el que cargamos la galería que esta en un swf independiente. Problema: El swf se "carga" el movieclip sobre el que lo cargamos, y el del nivel superior, y no coge las medidas de éste.

-Crear un movieclip y dentro de este, colocar la programacion de la galeria. Problema: Destrozo general.

Os coloco el código de la galería aquí por si sirve de algo (como veréis está programada como quien inventa la rueda en el siglo XXI, pero bueno...):

Código :


//--------Datos modificables--------//

posx = 20;   //posicion x de la primera caja
posy = 20;   //posicion y de la primera caja
tamx = 100;     //ancho de las cajas
tamy = 0.675*tamx;   //alto de las cajas (no hace falta tocarlo)
disth=  50;   //distancia horizontal entre cajas
distv=  60;   //distancia vertical entre cajas
numcajas = 18;  //número de cajas
imagen1 = "pantallazo1.jpg"  //ruta y nombre de la primera imagen


//Formato del titulo
var titformat:TextFormat = new TextFormat();
titformat.font = "Verdana";
titformat.size = 22;
titformat.bold = true;

//Links de las webs del mes
var link = new Array;
link[1]= "http://www.marca.com" 
link[2] = "http://www.google.es"
link[3] = "http://www.plandolit.com"
link[4] = "http://www.loquo.com"
link[5] = "http://www.nose.com"

//Formato de las webs del mes
var subtitformat:TextFormat = new TextFormat();
subtitformat.font = "Verdana";
subtitformat.size= 10;

//Nombres de las webs del mes
web = new Array;
web[1] = "<a href='http://www.marca.com'>www.marca.com</a>"
web[2] = "<a href='http://www.google.es'>www.google.es</a>"
web[3] = "<a href='http://www.plandolit.com'>www.plandolilt.com</a>"
web[4] = "<a href='http://www.loquo.com'>www.loquo.com</a>"
web[5] = "<a href='http://www.nose.com'>www.nose.com</a>"
web[6] = "www.llll.es"

//El tamaño de las imagenes debe de ser igual que el de las cajas


//-------Código preferiblemente no modificable--------//

//funcion que centra los textos
//posObj es la posicion _x del objeto de referencia en base al que centraremos el texto
//tamObj es el tamaño del objeto
//texto es el objeto texto que hemos creado

function centrarTexto(posObj,tamObj,texto) 
{
   var medObj = tamObj/2;
   var medText = (texto._width)/2;
   posText = (posObj+medObj)-medText;//calculamos la posicion del texto
   return(posText);
}

//Creacion de array de mascaras y colocación

mascara = new Array;

sepx = tamx + disth;
sepy = tamy + distv;


for (i=1;i<(numcajas+1);i++)
{
   mascara[i]=this.attachMovie("mascara_mc","mascara"+i+"",this.getNextHighestDepth());
   mascara[i]._width = tamx;
   mascara[i]._height = tamy;
   
   if (i==1) 
   {
      mascara[i]._x = posx;
      mascara[i]._y = posy;
   }
   
   else{
      
   if ((mascara[i-1]._x+sepx+tamx)>685)
   {
      
      mascara[i]._x = mascara[1]._x;
      mascara[i]._y = mascara[i-2]._y + sepy;
      
   }
   
    else  
    {
       mascara[i]._x = mascara[i-1]._x + sepx;
       mascara[i]._y = mascara[i-1]._y;
   }
   }
}

//Caja de fondo para la web del lector
this.attachMovie("lector_mc", "lector",1);
lector._width = tamx + 20;
lector._height = tamy + 40;
lector._x = mascara[1]._x - 10;
lector._y = mascara[1]._y - 10;


//Creacion de array de loaders de imágenes, botones y subtitulos y colocación

loader = new Array;
boton = new Array;
subtit = new Array;


for (i=1;i<(numcajas+1);i++)
{
loader[i] = this.attachMovie("Loader", "loader"+i+"",this.getNextHighestDepth());

boton[i] = this.attachMovie("web_btn","boton"+i+"", this.getNextHighestDepth());

subtit[i] = _root.createTextField("subtit"+i+"",this.getNextHighestDepth(),50,110,0,20);

with (loader[i]){
   contentPath = imagen1;
   _x = mascara[i]._x;
   _y = mascara[i]._y-10;
   scaleContent = false;
   setMask(mascara[i]);
   }
with (boton[i])
{
   _x = mascara[i]._x;
   _y = mascara[i]._y;
   _width = tamx+1;
   _height = tamy+1;
   boton[i].ruta = link[i];   
   boton[i].onRelease = function()
   {
      _root.getURL(this.ruta,"_blank");
      
   }

   
}

with (subtit[i])
{
   autoSize = true;
   html = true;
   selectable = false;
   htmlText = web[i]; 
   setTextFormat(subtitformat);//Le asignamos el formato que hemos creado antes
   _x = centrarTexto(mascara[i]._x,tamx,subtit[i]);
   _y = mascara[i]._y + tamy + 10;
}
   
}


P.D. : Gracias a quien conteste, porque tiene mérito leerselo todo... :zzz:

Un saludo

Por bilbao

13 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 13 Feb 2007 01:38 am
yo no tengo el merito ni siquiera de leer tu explicación del problema

R-E-S-U-M-E ¡¡¡¡¡¡

si tu no te das el trabajo de identificar el problema concreto ¿por que yo debiera dármelo?

lee esto:

Sentido comun escribió:

para localizar un error, analiza todo tu código por etapas, ¿funciono esto? entonces ¿funciona esto otro? una vez que detectes el error intenta solucionarlo, si no resulta pregunta acerca del error especifico, de la forma mas breve y clara posible, postea el código necesario siempre entre la etiqueta [code]
Ademas lee Guía para obtener ayuda efectiva en los foros

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 13 Feb 2007 10:53 am
Ya esta, solucionado....al puro método Juan Palomo.

Por bilbao

13 de clabLevel



Genero:Masculino  

msie7

 

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