Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Lucidazione e correzione codice

    Ciao a tutti, avrei un problema da porvi. Tempo fa un'utente di voi aveva postato il sorgente di una gallery che mi colpì particolarmente per la sua funzionalità (purtroppo non mi ricordo chi era ) sono riuscito ad adattare il codice a ciò di cui avevo bisogno...tutto ok, l'unica cosa è che ho una cartella con una quarantina di foto però non riesco a definire che in automatico mi crei una seconda o terza pagina. Per ogni pagina ci sono 18 miniature con relativo zoom, però non mi crea le pagine successive ho provato a vedere il codice ma non ci capisco una mazza. Vi posto il codice sperando e chiedendovi gentilmente di aiutarmi a correggere l'inghippo. Magari passa di qui il proprietario della meravigliosa creazione che mi aiuta grazie questo è il codice
    codice:
    stop();
    j = 0;
    pag = 1;
    // Coordinate per posizionamento e incremento del clip
    inizioX = corX=52;
    corY = 88;
    incrX = 91;
    incrY = 89;
    puls._visible = false;
    function pulsanti(fine) {
    	numPuls = Math.ceil(dati.testo/18);
    	for (a=0; a<numPuls; a++) {
    		// Dupplico e dispongo i pulsanti
    		duplicateMovieClip(puls, "puls"+a, a);
    		this["puls"+a]._x = this.puls._x+(25*(a));
    		this["puls"+a].testo = a+1;
    		path = eval("puls"+a);
    		path.a = a;
    		path.onRollOver = function() {
    			this.nextFrame();
    		};
    		path.onRollOut = function() {
    			this.prevFrame();
    		};
    		path.onRelease = function() {
    			pag = this.a+1;
    			max1 = 18*this.a;
    			max2 = max1+18;
    			agg = new Array();
    			agg[this.a] = [dati.testo-max1, dati.testo-max2];
    			buona = agg[this.a];
    			ultimoPuls = eval("this.puls"+Math.round(a-1));
    			if (this == ultimoPuls) {
    				// faccio in modo che se le immagini nell'ultima pagina non arrivano a 15 vengano cancellati i clip vuoti
    				avanzo = Math.round((numPuls*18)-dati.testo);
    				buona[1] = buona[1]+avanzo;
    				via(buona[0], buona[1]);
    				buona[1] = buona[1]-avanzo;
    			} else {
    				via(buona[0], buona[1]);
    			}
    		};
    	}
    }
    function via(inizio, fine) {
    	if (dati.testo<=18) {
    		fine = 0;
    	}
    	imgNum = inizio+" - "+(fine+1);
    	top = "Pagina numero: "+pag+"        Numeri immagini: "+imgNum;
    	j = 0;
    	inizioX = corX=52;
    	corY = 88;
    	incrX = 91;
    	incrY = 89;
    	to = Math.round(dati.testo*18);
    	for (f=fine; f>0; f--) {
    		// cancello i 15 clip maggiori
    		cancella = "mc"+f;
    		removeMovieClip(cancella);
    	}
    	for (f=inizio; f<to; f++) {
    		// cancello i 15 clip minori
    		cancella2 = "mc"+f;
    		removeMovieClip(cancella2);
    	}
    	for (i=inizio; i>fine; i--) {
    		attachMovie("mc","mc"+i,(dati.testo*18)-i);
    		path = eval("mc"+i);
    		path.i = i;
    		if (i>=1) {
    			if (i<=9) {
    				loadMovie("imgGallery/preview/mini00"+i+".jpg", path.foto);
    			} else if (i<=99) {
    				loadMovie("imgGallery/preview/mini0"+i+".jpg", path.foto);
    			} else if (i>99) {
    				loadMovie("imgGallery/preview/mini"+i+".jpg", path.foto);
    			}
    		}
    		path._x = corX;
    		path._y = corY;
    		if (j == 5) {
    			// faccio in modo che le 15 immagini si dispongano in file da 5
    			j = 0;
    			corX = inizioX;
    			corY += incrY;
    		} else {
    			corX += incrX;
    			j++;
    		}
    		path.onRollOver = function() {
    			this._xscale = 105;
    			this._yscale = 105;
    		};
    		path.onRollOut = function() {
    			this._xscale = 100;
    			this._yscale = 100;
    		};
    		path.onRelease = function() {
    			if (this.i == dati.testo) {
    				foto.indietro._visible = false;
    			} else {
    				foto.indietro._visible = true;
    			}
    			if (this.i == 1) {
    				foto.avanti._visible = false;
    			} else {
    				foto.avanti._visible = true;
    			}
    			sfondo._visible = true;
    			foto._visible = true;
    			sfondo.play();
    			if (this.i<=9) {
    				loadMovie("imgGallery/foto00"+this.i+".jpg", foto.fotoBig);
    				newI = this.i;
    			} else if (this.i<=99) {
    				loadMovie("imgGallery/foto0"+this.i+".jpg", foto.fotoBig);
    				newI = this.i;
    			} else if (this.i>99) {
    				loadMovie("imgGallery/foto"+this.i+".jpg", foto.fotoBig);
    				newI = this.i;
    			}
    		};
    		foto.indietro.onRelease = function() {
    			// Imposto pulsante PREV
    			foto.avanti._visible = true;
    			if (newI == dati.testo-1) {
    				this._visible = false;
    			} else {
    				this._visible = true;
    			}
    			if (newI<dati.testo) {
    				if (newI<9) {
    					loadMovie("imgGallery/foto00"+(newI+1)+".jpg", foto.fotoBig);
    				} else if (newI<99) {
    					loadMovie("imgGallery/foto0"+(newI+1)+".jpg", foto.fotoBig);
    				} else if (newI>99) {
    					loadMovie("imgGallery/foto"+(newI+1)+".jpg", foto.fotoBig);
    				}
    				newI = newI+1;
    			}
    		};
    		foto.avanti.onRelease = function() {
    			// Imposto pulsante NEXT
    			foto.indietro._visible = true;
    			if (newI == 2) {
    				this._visible = false;
    			} else {
    				this._visible = true;
    			}
    			if (newI>1) {
    				if (newI<=10) {
    					loadMovie("imgGallery/foto00"+(newI-1)+".jpg", foto.fotoBig);
    				} else if (newI<=100) {
    					loadMovie("imgGallery/foto0"+(newI-1)+".jpg", foto.fotoBig);
    				} else if (newI>100) {
    					loadMovie("imgGallery/foto"+(newI-1)+".jpg", foto.fotoBig);
    				}
    				newI = newI-1;
    			}
    		};
    	}
    }
    pulsanti();
    via(dati.testo,dati.testo-18);
    //via(testo, testo-15);

  2. #2
    C'è nessuno che mi può aiutare pleaseeeee

  3. #3
    un esempio che controlla e crea i bottoni pagina per 6 miniature


    Codice PHP:
    // CARICAMENTO PAGINE

    // Calcolo quante pagine da 6 Miniature mi servono
    if((this.Totale/Math.floor(this.Totale/6)) < 0.5){
         
    pagine Math.round(this.Totale/6)+1
    }else{
         
    pagine Math.round(this.Totale/6)
    }
    for(
    z=1z<=paginez++){
        
    // attacco il clip/bottone Pagine dalla Lib
       
    MainPAG.attachMovie("pagine","pag"+z,z)
       
    MainPAG["pag"+z].pag=z
       MainPAG
    ["pag"+z]._x=30*z-30
       MainPAG
    ["pag"+z]._y=0
       MainPAG
    ["pag"+z].protopag() // questo prototype verrà analizzato alla fine del tutorial


  4. #4
    Ciao rempox grazie per la risposta...praticamente io ho appunto questa gallery composta da tre file di sei quadrati (miniature foto) per un totale di 18 miniature visualizzate (pescate dinamicamente da una cartella). Il problema è che in questa cartella ci sono più di 18 miniature, ma non mi crea le altre pagine....tu dici che inserendo questo codice risolvo il problema? :master:

  5. #5
    aspetta un momento, non penserai che mi sono letto tutta la tua AS

    A prima vista non vedo con quale criterio carichi le foto, se da txt, da asp, php e non vedo loadVars o array, ma magari perchè non ho controllato bene.

    quello che dico è semplicemente che se conosci il Totale delle foto puoi utilizzare la funzione per crear N pulsantini che alla loro pressione passeranno al caricamento delle foto successive (18 o meno di 18)

    Tu invece comunque duplichi 18 clip e poi se sono vuoti li cancelli ???

    se non vuoi o non sai utilizzare altri sistemi almeno scrivi i dati in un txt e carica tutte le informazioni da questo

    se ti va leggi questo http://flash.html.it/articoli/leggi/...fotografica/1/

    dovrebbe esserti di aiuto. Ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.