Salve a tutti, stavo provando a ricreare la galleria fotografica partendo dalla guida su html.it
Ho le foto nella cartella public
il file di testo si chiama "in_the_forest.txt"
ed è così composto:
Mentre nel filmato ho questo codice:codice:&img1=private-08.jpg&cat1=Cat. Lavoro &desc1=Metro Avvolgimento con blocco&Drive1=Giallo&dim1=Lunghezza 5 mt.& &img2=private-09.jpg&cat2=Cat. Meccanica &desc2=Chiave Tubolare con Crick &Drive2=Acciaio&dim2=Esagonale Mis. 12& &img3=private-10.jpg&cat3=Cat. Legno &desc3=Sega a Spada &Drive3=Acciaio &dim3=Dente 7 - 40cm.& &img4=private-11.jpg&cat4=Cat. Lavoro &desc4=Pinza Impugnatura Gomma &Drive4=Acciaio&dim4=Dim. 20 x 5 & &img5=meditation.jpg&cat5=Cat. Lavoro &desc5=Squadretta &Drive5=Acciaio &dim5=Dim. 20 x 20& &img6=midnight-bath.jpg&cat6=Cat. Lavoro &desc6=Martello Cantiere &Drive6=Acciaio e Gomma&dim6=Dim.12 x 40& &img7=relaxing.jpg&cat7=Cat. Lavoro &desc7=Cacciavite Piatto &Drive7=Acciaio&dim7=Dim 0.75 x 20& &img8=2006-01.jpg&cat7=Cat. Lavoro &desc7=Cacciavite Piatto &Drive7=Acciaio&dim7=Dim 0.75 x 20& &img9=2006-02.jpg&cat7=Cat. Lavoro &desc7=Cacciavite Piatto &Drive7=Acciaio&dim7=Dim 0.75 x 20& &img10=2006-03.jpg&cat7=Cat. Lavoro &desc7=Cacciavite Piatto &Drive7=Acciaio&dim7=Dim 0.75 x 20& &img11=2006-04.jpg&cat7=Cat. Lavoro &desc7=Cacciavite Piatto &Drive7=Acciaio&dim7=Dim 0.75 x 20& &totale=11&
Mi si crea il loop, non va nella maschera e come si vede non vengono caricate le fotocodice:/* Per comodità le Maschere MaskMINI e MaskPAG le creo graficamente */ function Crea_Box(){ // creo un clip contenitore per Miniature this.createEmptyMovieClip("MainMINI",1) this.MainMINI._x=this.MaskMINI._x=11 this.MainMINI._y=this.MaskMINI._y=210 // lo maschero per eventuali miniature superiori 6 this.MainMINI.setMask(MaskMINI) // creo un clip contenitore per le Pagine this.createEmptyMovieClip("MainPAG",2) this.MainPAG._x=this.MaskPag._x=60 this.MainPAG._y=this.MaskPag._y=365 // lo maschero se il numero dei foglietti superiori ad 8 this.MainPAG.setMask(MaskPAG) } Crea_Box() // miniature=new LoadVars() miniature.onLoad=function(success){ if(success){ // qui metteremo la funzione di caricamento Pagine e DATI che vedremo di seguito // CARICAMENTO PAGINE // Calcolo quante pagine da 6 Miniature mi servono pagine = Math.round(this.Totale/6)//+1 for(z=1; z<=pagine; z++){ // 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 // POSIZIONAMENTO BOX MINIATURE i =1 // contatore clip j =1 //contatore di riga k=1 //contatore di colonna while(i <= this.Totale) { MainMINI.attachMovie("MINI","MINI"+i,i) mc=MainMINI["MINI"+i] mc._x=k*110-110 // parto da _x=0 mc._y=j*80-80 // parto da _y=0 // all'interno di questo spazio inseriremo il caricamento dei dati, immagini e preload // CARICAMENTO DATI, IMMAGINI e PRELOAD // carico sul clip tutti i dati relativi alla scheda mc.img = this["img"+i] mc.cat = this["cat"+i] mc.desc = this["desc"+i] mc.drive = this["drive"+i] mc.dim = this["dim"+i] // carico nel clip Foto, contenuto in MINI l'immagine mc.foto.loadMovie("public/"+this["img"+i]) // pongo l'alpha a zero per aver modo di eseguire prima il preload ed il dimensionamento. mc.foto._alpha=0 // per comodo registro in ID il valore numerico che compone il nome del clip mc.ID=i // eseguo il controllo del preload mc.onEnterFrame=function(){ if(this.foto.getBytesLoaded()>1024 && this.foto.getBytesLoaded() == this.foto.getBytesTotal()){ // calcolo dimensioni originali della foto this.larg=this.foto._width this.alt=this.foto._height // chiamo la funzione di re-dimensionamento this.foto._xscale = Math.floor(80/this.larg*100) this.foto._yscale = Math.floor(56*100/this.alt*100) // ridondante ma ci assicuriamo che siano esattamente rispettate le dimensioni this.foto._width=80 this.foto._height=56 //eseguo la funzione di Fade IN this.foto.onEnterFrame = function(){ // enterFrame per aumentare gradualmente l'alpha dell'immagine caricata if(this._alpha < 100){this._alpha+=20;} else {this._alpha = 100; delete this.onEnterFrame;} } // OPZIONE ----------------------------------------------------- // per far apparire automaticamente la prima foto if(this.ID==1){ carica_foto(this.img) carica_dati(this.img, this.cat,this.desc,this.drive,this.dim) } // Fine Opzione -------------------------------------------------- delete this.onEnterFrame // cancello l'enter frame alla fine del preload } // fine IF // OPZIONE -------------------------------------------------------- /* Volendo si può inserire un clip barra all'interno di MINI per indicare l'avanzamento del preload quindi : this.barra._xscale =Math.floor(this.foto.getBytesLoaded()/ this.foto.getBytesTotal()*100) */ // Fine Opzione----------------------------------------------------- } // Fine mc.onEnterFrame=function() // FUNZIONE DI CARICAMENTO FOTO GRANDE E DATI mc.onPress=function(){ // chiamata carica_foto(this.img) carica_dati(this.img, this.cat,this.desc,this.drive,this.dim) } // controlli per mandare a capo le miniature creando una struttura 3 x N if(k<3){ k++ }else{ k=1; j++ } i++ } // Fine while(i <= this.Totale) } } } miniature.load("in_the_forest.txt") // in alternativa miniature.load(dati.asp) // FUNZIONE DI CARICAMENTO FOTO GRANDE E DATI mc.onPress=function(){ // chiamata carica_foto(this.img) carica_dati(this.img, this.cat,this.desc,this.drive,this.dim) } function carica_foto(nome){ MainBIG.IMGBIG.loadMovie("public/"+nome) /* questa parte che segue è opzionale, nel senso che se la foto la si vuol far apparire nelle sue reali, essendo già caricata nella cache, non è necessario il controllo del caricamento. Diversamente se si vuole un dimensionamento adHoc, allora è necessaria. */ // Opzione ----------------------------------> MainBIG.onEnterFrame=function() { if(this.IMGBIG.getBytesLoaded()>1024 && this.IMGBIG.getBytesLoaded() == this.IMGBIG.getBytesTotal()) { // calcolo dimensioni originali this.larg=this.IMGBIG._width this.alt=this.IMGBIG._height // chiamo la funzione di re-dimensionamento this.IMGBIG._xscale = Math.floor(310/this.larg*100) this.IMGBIG._yscale = Math.floor(190*100/this.alt*100) this.IMGBIG._width=310 this.IMGBIG._height=190 this.IMGBIG.onEnterFrame = function(){ // enterFrame per aumentare gradualmente l'alpha dell'immagine caricata if(this._alpha < 100){this._alpha+=20;} else {this._alpha = 100; delete this.onEnterFrame;} } delete this.onEnterFrame } // fine IF } // Fine mc.onEnterFrame=function() // Fine Opzione -------------------------------> } function carica_dati(pic,cat,desc,drive,dim){ MainTXT.txt0=pic MainTXT.txt1=cat MainTXT.txt2=desc MainTXT.txt3=drive MainTXT.txt4=dim } // Protoype per cambio pagine 1 x 6 miniature MovieClip.prototype.protopag=function(){ this.onPress=function(){ numero=Number(substring(this._name,4,2)) if(numero == 1){ _level0.MainMINI._y=210} else{_level0.MainMINI._y=(210-(160*numero - 160))} } } avanti.onPress=function(){ // attivo i pulsanti solo se la larghezza di MainPagè superiore alla larghezza della maschera if(MainPag._width > MaskPag._width){ // calcolo le dimensioni di larghezza dei due clip L0=MainPag._x+MainPag._width L1=MaskPag._x+MaskPag._width // confronto if(L0>=L1){ // avanzo della larghezza di un foglietto MainPag._x-=30 } } } indietro.onPress=function(){ // Per il pulsante di ritorno è più semplice, basta confrontare la posizione dei due clip if(MainPag._x < MaskPag._x){ // avanzo della larghezza di un foglietto MainPag._x+=30 } }
http://photos.alfagestioni.com/galleria.htm l'esempio
grazie

Rispondi quotando