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...
Un saludo
