Foros del Web » Creando para Internet » Flash y Actionscript »

cargar todas las imagenes de una carpeta

Estas en el tema de cargar todas las imagenes de una carpeta en el foro de Flash y Actionscript en Foros del Web. Hola, trabajo para una empresa que tiene un catalogo de unas 3000 imagenes y cada una tiene por nombre su propia referencia 115.103.jpg hasta ahora ...
  #1 (permalink)  
Antiguo 22/03/2006, 05:21
 
Fecha de Ingreso: marzo-2006
Mensajes: 1
Antigüedad: 18 años, 8 meses
Puntos: 0
cargar todas las imagenes de una carpeta

Hola, trabajo para una empresa que tiene un catalogo de unas 3000 imagenes
y cada una tiene por nombre su propia referencia 115.103.jpg

hasta ahora he encontrado un codigo que me hace esto, pero me dice que tengo que renombrar las fotos a 1.jpg , 2.jpg ...

no ahy forma de hacer un codigo que le diga que coja todas las .jpg de las carpetas?

aqui tengo el codigo, es bastante extenso, asi que pido perdon por el tocho :)

//Importamos las clases
import mx.containers.ScrollPane
import mx.controls.ProgressBar
import mx.controls.Loader

//Declaramos variables
var imagenes_lv:LoadVars = new LoadVars();
var i:Number = new Number(1);
var x:Number = new Number(0);
var y:Number = new Number(0);
var nFot:Number = new Number(1);
var fotAct:Number = new Number(0);
var nPag:Number = new Number(1);
var elTope:Number = new Number(1);
var final:Boolean = new Boolean(false);
var alClicar:Object = new Object();
var alCargar:Object = new Object();
var cargando:Object = new Object();

//Atacheamos los objetos que necesitamos
attachMovie("ProgressBar", "barra", 9998);
attachMovie("ProgressBar", "barraThumbs", 9999);
//Puedes cambiar la forma de mostrar las imágenes, poniendo en vez de un Loader un ScrollPane
//No olvides añadirlo a tu biblioteca
attachMovie("Loader", "imgGrande", _root.getNextHighestDepth());

attachMovie("Loader", "imgGrande2", _root.getNextHighestDepth());
//attachMovie("ScrollPane", "imgGrande", _root.getNextHighestDepth());

//Empezamos cargando por la primera imagen
imagenes_lv.dirurl = "cerillas/" + i + ".jpg";
imagenes_lv.parent = this;
imagenes_lv.load(imagenes_lv.dirurl);

//Propiedades del Loader/ScrollPane
imgGrande.setSize(240, 250);
imgGrande.move(320, 30);
imgGrande.addEventListener("complete", alCargar);
imgGrande.addEventListener("progress", cargando);

imgGrande2.setSize(248, 45);
imgGrande2.move(330, 317);
imgGrande2.addEventListener("complete", alCargar);
imgGrande2.addEventListener("progress", cargando);

//Propiedades de la barra de carga
barra._visible = false;
barra.move(360, 150);
barra.label = "Espere %3%";
barra.mode = "manual";
barra.color = "477485";

//Propiedades de la barra de carga de los thumbnails
barraThumbs._visible = false;
barraThumbs.setSize(125, 44);
barraThumbs.move(90, 190);
barraThumbs.indeterminate = true;
barraThumbs.labelPlacement = "up";
barraThumbs.color = "477485";


//******************************** FUNCIONES ***********************************//
//Función para ir pasando de imagen en imagen
function siguienteImg (i){
barraThumbs._visible = true;
barraThumbs.label = "Cargando Fotos " + (i-1);
if (i < 10){
imagenes_lv.dirurl = "cerillas/" + i + ".jpg";
imagenes_lv.load(imagenes_lv.dirurl);
}
else if (i >= 10){
imagenes_lv.dirurl = "cerillas/" + i + ".jpg";
imagenes_lv.load(imagenes_lv.dirurl);
}
}

//Función para hacer grande la imagen
function agrandarImg(id){
//Asignamos que vamos a cargar y ponemos la barra de preload
if (id < 10){
imgGrande.contentPath = "cerillas/" + id + ".jpg";
}
else if (id >= 10){
imgGrande.contentPath = "cerillas/" + id + ".jpg";
}
//Mostramos la barra de carga
barra._visible = true;

fotAct = id;

//descriciones
if (id < 10){
imgGrande2.contentPath = "descripcion/" + id + ".jpg";
}
else if (id >= 10){
imgGrande2.contentPath = "descripcion/" + id + ".jpg";
}
//Mostramos la barra de carga
barra._visible = true;

fotAct = id;
}

//Función para pasar de página hacia adelante
function paginaAde(){
//Quitamos las imagenes anteriores
for (n=1; n<i; n++){
removeMovieClip(["loader"+n]);
}

//Inicializamos variables y nos situamos en la page siguiente
nPag++;
nFot = 1;
x = 0;
y = 0;

siguienteImg(i);
}

//Función para pasar de página hacia atrás
function paginaAtr(){
//Quitamos las imagenes anteriores
for (n=1; n<i; n++){
removeMovieClip(["loader"+n]);
}

//Inicializamos variables y nos situamos en la page anterior
nPag--;
nFot = 1;
x = 0;
y = 0;
//El índice de la imagen es igual a:
//12 --> Número de imágenes mostradas
//(nPag-1) --> multiplicado por el número de página actual - 1
//más 1, que dará como resultado
//i = (12 * (1-1)) + 1 --> 1 [Nos situamos en imagen 1 si la página es la 1]
//i = (12 * (2-1)) + 1 --> 13 [Nos situamos en imagen 13 si la página es la 2]
//i = (12 * (3-1)) + 1 --> 25 [Nos situamos en imagen 25 si la página es la 3]
//etc...
i = (12 * (nPag-1)) + 1;

siguienteImg(i);
}

//********************************** EVENTOS *********************************//
//Cuando se ha cargado del todo la imagen
alCargar.complete = function(objeto){
barra._visible = false;
}

//Monitorizamos la descarga de la imagen
cargando.progress = function(){
barra.setProgress(imgGrande.getBytesLoaded(), imgGrande.getBytesTotal());
}

cargando.progress = function(){
barra.setProgress(imgGrande2.getBytesLoaded(), imgGrande2.getBytesTotal());
}
//Cargamos las thumbnails
imagenes_lv.onLoad = function() {
if (imagenes_lv.loaded == true) {
if (nFot < 13){
//Existe la imagen
trace(this.dirurl);
_root.attachMovie("Loader", "loader" + i, i);
_root["loader"+i].setSize(60, 120);
_root["loader"+i].move((70 * x + 5), (120 * y + 10));
_root["loader"+i].id = i;

_root["loader"+i].contentPath = this.dirurl;

//Cargamos la imagen en grande y le pasamos el id de la thumbnail
_root["loader"+i].onPress = function(){
agrandarImg(this.id);
}

i++;
nFot++;


//Si no hemos llegado al final seguimos sumando para llegar al tope
if (final == false){
elTope++;
}

//Posiciones de las imagenes
x++;
if (x > 3){
y++;
x = 0;
}

siguienteImg(i);
}
else{
//Cuando hemos cargado todas las thumbs quitamos la barra de carga
barraThumbs._visible = false;
}
}
else{
//Si llegamos al final, restamos uno al tope para que no se puedan seguir cargando
//imagenes
if (final == false){
elTope--;
}
final = true;
barraThumbs._visible = false;
}
}

alClicar.click = function(objeto){
if (objeto.target == sigPage_btn){
//Si la imagen actual es menor o igual que el tope, podemos seguir avanzando
if (i <= elTope){
paginaAde();
}
}
else if (objeto.target == antPage_btn){
if (nPag > 1){
paginaAtr();
}
}
else if(objeto.target == sigImg_btn){
//Mientras no lleguemos a la última foto podemos seguir pasando
trace(fotAct + " < " + elTope);
if (fotAct < elTope){
fotAct++;
agrandarImg(fotAct);
}

//Desactivamos el botón si hemos llegado al final
if (fotAct == elTope && final == true){
objeto.target.enabled = false;
}
//Activamos el botón de siguiente imagen
antImg_btn.enabled = true;

//Cambiamos de página si ya hemos visto todas las fotos de la pagina actual
if (fotAct == (nPag * 12 + 1)){
paginaAde();
}
}
else if(objeto.target == antImg_btn){
if (fotAct > 1){
fotAct--;
agrandarImg(fotAct);
}

//Desactivamos el botón si hemos llegado al principio
if (fotAct == 1){
objeto.target.enabled = false;
}
//Activamos el botón de siguiente imagen
sigImg_btn.enabled = true;

//Cambiamos de página si ya hemos visto todas las fotos de la pagina actual
if (fotAct == (nPag-1) * 12){
paginaAtr();
}
}
}

//******************************** LISTENERS ***********************************//
sigPage_btn.addEventListener("click", alClicar);
antPage_btn.addEventListener("click", alClicar);
sigImg_btn.addEventListener("click", alClicar);
antImg_btn.addEventListener("click", alClicar);
  #2 (permalink)  
Antiguo 22/03/2006, 08:55
 
Fecha de Ingreso: marzo-2006
Mensajes: 25
Antigüedad: 18 años, 8 meses
Puntos: 0
Hola:

Te puedes crear un dir con un archivo de proceso por lotes con esto:

dir c:\>dir.txt
@exit

y luego leerlo y cargarlo.

Es una opción.

Otra, utilizar un renombrador de archivos, creo que se dice así, que los hay freeware.

Última edición por M@nrique; 22/03/2006 a las 09:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:07.