Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603

    Un aiuto per modifica gallery

    Ciao a tutti, chi riesce a darmi una mano con questa gallery???
    Utilizzo questo codice per visualizzare sullo stage le miniature delle foto prese da una cartellina in base al numero inserito in un file di testo. In questo modo si crea una griglia di 3 righe per 8 foto ognuna ingrandibile al clic.....
    Il problema è che adesso mi servirebbe che le foto per ogni riga siano prese da cartelline diverse è che ogni riga sia indipendente...cioè ogni riga è una singola sottocategoria.....In allegato ho messo una foto che spiega meglio...
    Quindi se per esempio la prima categoria ha 3 foto il resto della riga sarà vuoto e sotto inizierà sempre un'altra categoria......
    Come posso fare?? Si può modificare questo codice??? Ho già provato a duplicarlo su un altro frame cambiando i nomi delle variabili e le coordinate ma non funziona e più di tanto non riesco a capirci e a metterci mano....
    Qualche genio che sà spiegarmi come fare?? :master:



    // creo movieClip box \\
    this.createEmptyMovieClip("box",0);
    box._x = 15;
    box._y = 48;
    // creo la maschera \\
    this.createEmptyMovieClip("mask",1);
    with(mask){
    beginFill(0xFF0000,0);
    moveTo(0,0);
    lineStyle(0,0x000000,190);
    lineTo(670.6,0);
    lineStyle(0,0x000000,190);
    lineTo(670.6,190);
    lineStyle(0,0x000000,190);
    lineTo(0,190);
    lineStyle(0,0x000000,190);
    lineTo(0,0);
    _x = 15;
    _y = 48;
    }
    // setto la maschera \\
    box.setMask(mask);

    this.createTextField("caricamento",2,255,300,210,2 5);
    caricamento.type="Dynamic"
    caricamento.selectable = false;
    myformat = new TextFormat();
    myformat.color = fxffffff;
    myformat.font = "Arial";
    myformat.size = 10;
    caricamento.text = "";
    caricamento.setTextFormat(myformat);


    // prendo in input i dati dal txt \\
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function() {
    if (Number(this.num_pic)<1) {
    trace("non esistono foto");
    } else {
    posizionaFoto(Number(this.num_pic));
    }
    };
    /////////////////// FUNCTION POSIZIONA FOTO ////////////////////////////
    function posizionaFoto(maxfoto) {
    // da qui in poi serve solo a creare clip allineati 4*4 per più pagine \\
    pagine = Math.ceil(maxfoto/8);

    startpic = 1;
    var count = 0;
    for (j=0; j<pagine; j++) {
    for (k=0; k<=2; k++) {
    for (i=0; i<=7; i++) {
    count++;
    nomeclip = "pic"+count;
    box.createEmptyMovieClip(nomeclip, count+10);
    mc = eval(box[nomeclip]);
    mc._x = 87*i+670.6*j;
    mc._y = k*70;
    }
    }
    }

    trace (pagine);
    trace (startpic);

    if (startpic == pagine)
    {
    avanti._visible = 0;
    }
    else{
    avanti._visible = 1;
    }


    // Fine allineamento
    i = 1;
    mc = eval(box["pic"+i]); //salvo il percorso del singolo movieClip
    img = "img/gallery/allestimenti"+i+".jpg?rnd="+dateNumber(); // costruisco il percorso dell'immagine
    mc.loadMovie(img); //carico l'immagine nel movieClip
    caricamento.text = "CARICAMENTO FOTO" + i + " IN CORSO...";
    caricamento.setTextFormat(myformat);
    this.onEnterFrame = function() {
    //caricamento._visible = !caricamento._visible;
    // entro nell'evento EnterFrame e controllo se l'immagine nel mc è stata caricata
    if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {
    mc.larg = mc._width; //salvo la larghezza dell'img
    mc.alt = mc._height; //salvo l'altezza dell'img
    mc.img = img; // salvo il percorso dell'immagine
    xscala = Math.floor(5100/mc._width);
    yscala = Math.floor(5100/mc._height);
    mc._xscale = xscala+2.7;
    mc._yscale = yscala+1;
    mc._alpha = 0;
    mc._visible = 1;
    mc.onEnterFrame = function(){ // enterFrame per aumentare gradualmente l'alpha dell'immagine caricata
    if(this._alpha < 100){
    this._alpha+=20;
    } else {
    this._alpha = 100;
    this.onRelease = function(){
    _root.quale=this.img;
    this.premuto(this.img,this.img,'');

    }
    delete this.onEnterFrame;
    }
    }
    i++;
    if (i<maxfoto) {
    mc = eval(box["pic"+i]);
    img = "img/gallery/allestimenti"+i+".jpg?rnd="+dateNumber();
    mc.loadMovie(img);
    caricamento.text = "CARICAMENTO FOTO " + i + " IN CORSO...";
    caricamento.setTextFormat(myformat);
    } else {
    caricamento.removeTextField();
    delete this.onEnterFrame;
    }
    }
    };
    }
    //////// CARICA DATI DA TXT ///////////
    dati.load("img/gallery/allestimenti_img.txt?rnd="+dateNumber());
    Immagini allegate Immagini allegate

  2. #2
    direi che tutto dipende da come organizzi le informazioni che devi passare tramite

    dati.load("img/gallery/allestimenti_img.txt?rnd="+dateNumber());


    ad esempio:


    &cat1=Finestre&path1=fin/&suffix1=my_win&qta1=3
    &cat2=Porte&path2=por/&suffix2=my_door&qta2=5
    &cat3=Scale&path3=sca/&suffix2=my_stair&qta3=10

    poi immagino che potresti considerare le categorie come dei record quindi

    Codice PHP:
    _level0.createEmptyMovieClip("container",1)

    leggidati = new LoadVars()
    leggidati.onLoad=function(success){
             if(
    success){
               
    // file caricato
               
    I=1
               
    while(this["cat"+I] != undefined && this["qta"+I] > 0){ // controllo la presenza di categorie
                      
    _level0.container.createEmptyMovieClip("rec"+I,I)
                      
    mc_rec = eval(_level0.container["rec"+I])
                      if(
    I==1){
                                 
    mc_rec._x=0
                                 mc_rec
    ._y=0
                     
    }else{
                                 
    mc_rec._x=0
                                 mc_rec
    ._y _level0.container["rec"+I-1] + _level0.container["rec"+I-1]._height
                    
    // questo potrebbe essere utile considerando che una categoria potrebbe
                    // contenere piu categorie
                    
    }
                    
                    for ( 
    K=1;K<=this["qta"+I];I++){
                         
    mc_rec.attachMovie("box""box"+K,K)
                         
    mc_box = eval(mc_rec["box"+K]
                         
    mc_box._x K*100 100 // dove il box è 100 x 100
                         // se vuoi il controllo per categoria su più righe lo inserisci tu
                         // creo path e nome foto e lo registro in IMG
                         
    mc_box.IMG this["path"+I]+"/"+this["suffix"+I]+I+".jpg"
                         
    // carico nel subbox foto la fotografia
                         
    mc_box.foto.loadMovie(mc_box.IMG)
                         
    mc_box.foto.alpha=0
                         
    // preload
                         
    mc_box.onEnterFrame = function(){
                                  
    carthis.foto.getBytesLoaded()
                                  
    totthis.foto.getBytesTotal()
                                  if(
    car == tot && car 1024){
                                    
    // foto caricata
                                       
    this.foto._alpha 100
                                       delete this
    .onEnterFrame
                                  
    }
                        } 
    // fine enter frame
                   
    // fine for K
                   
    I++
           } 
    // fine while
        
    }else{
              
    // file non caricato
        
    // fine success
    // fine ----------->
    leggidati.load("img/gallery/allestimenti_img.txt?rnd="+dateNumber()); 
    L'ho scritta direttamente e quindi va controllata

    Nella libreria ti devi creare un clip BOX istanziato BOX che al suo interno deve contenere un clip istanziato FOTO

    Per il resto dovrebbe andare salvo errori di mancanza di parentesi etc...

    Fai sapere in caso la rivediamo insieme.

    Ciao Rempox

  3. #3
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    Ciao rempox....non ho capito bene.....allora io ho messo nel file txt una cosa del genere:

    &cat1=Allestimenti&path1=all/&suffix1=allestimenti&qta1=2
    &cat2=Buffet&path2=buff/&suffix2=buffet&qta2=1

    Lui in pratica va a cercare le immagini nel path indicato e col nome specificato in suffix e che poi incrementerà in base alla quantità...ho capito bene?

    Poi.....i MC box e foto come devo crearli?? vuoti? li devo trascinare nello stage e istanziarli li?

    Ti ringrazio dell'aiuto...

  4. #4
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    Allora aspetta...ho creato il MC box istanziato tramite Concatenamento nella finestra nuovo simbolo giusto? poi ci ho trascinato dentro il MC foto e l'ho istanziato foto....ho fatto bene???

  5. #5
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    Rempox scusami stò provando e riprovando col tuo codice....non mi dà nessun errore a parte un paio di dimenticanze di parentesi che ho corretto ma non succede niente....facendo prove di trace vari vedo che non entra per niente nel while anche se le condizioni sono vere.....eppure le variabili inserite nel file di testo le visualizza fuori dal ciclo...

  6. #6
    se scrivi così ...che cosa risponte la trace

    leggidati.onLoad=function(success){
    if(success){
    // file caricato

    trace("categoria="+this.cat1+" / quantità="+this.qta1)

    I=1
    while(this["cat"+I] != undefined && this["qta"+I] >

  7. #7
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    Mi dà
    categoria=Allestimenti / quantità=2

    Che è la prima riga del file di testo...giusto no?

  8. #8
    Utente di HTML.it L'avatar di gnola
    Registrato dal
    Jun 2001
    Messaggi
    603
    up..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.