Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    35

    Galleria con foto e descrizioni caricate dall esterno dinamicamente

    Ho provato a costruire una pagina dove vado a caricare foto esterne con la propria descrizione.
    A priori non so il numero delle foto che è quindi inserito come variabile in un txt esterno.
    Purtroppo qualcosa non va nel caricamento perchè gli oggetti che uso come target dei loadClip non mostrano un tubo.
    (Ho creato per ora una serie di 10 istanze chiamati mcPortafoto0 ... mcPortafoto9 che renderò poi una serie di un numero dinamico di elementi con le duplicazioni).

    ecco cosa ho scritto

    fotogramma 1
    codice:
    // carica descrizioni //
    
    dati = new LoadVars(); 
    _global.numElem = 0;
    dati.onLoad = function (success)
    	{ 
        if (success)
    		{ 
    		_global.numElem = dati.tot;
    		titoli =new Array(); 
            for(indDesc = 0;indDesc < numElem; indDesc++)
    			{        
    			pushed = titoli.push(dati["d" + indDesc]); 
    			}
    		gotoandplay(3);
    		}
    	else
    		{ 
            trace("problemi con il file di testo");
    		} 
    	} 
    
    dati.load("descrizioni.txt");
    fotogramma 2:
    codice:
    stop();
    fotogramma 3:
    codice:
    var indFoto = 0;
    var car = new MovieClipLoader();
    url = ""; /* immettere il percorso per le immagini */
    
    for (indFoto = 0; indFoto < _global.numElem; indFoto++)
    	{
    	car.loadClip(url + indFoto + ".jpg", "mcPortafoto" + indFoto);
    	};
    
    indFoto = 0;
    fotogramma 21:
    codice:
    mcContDesc.varDesc = titoli[indFoto];
    fotogramma 95:
    codice:
    setProperty("mcPortafoto" + indFoto, _x, 50);
    setProperty("mcPortafoto" + indFoto, _y, 110);
    setProperty("mcPortafoto" + indFoto, _visible, true);
    fotogramma 210:
    codice:
    setProperty("mcPortafoto" + indFoto, _visible, false);
    
    indFoto++;
    if (indFoto == _global.numElem)
    	{
    	indFoto = 0;
    	};
    	
    gotoAndPlay(21);
    Idee?
    Grazie mille.

    Francesco

  2. #2
    Ti scrivo qui il codice direttamente,
    l'ho commentato ma potrei aver commesso degli errori

    il tuo codice distribuito sulla timeline non saprei proprio come aiutarti

    questo invece va incollato nella prima frame su un FLA nuovo non serve altro
    il TXT deve essere del tipo

    codice:
    &photo1=mare.jpg&descrizione1=Soverato 1975&
    &photo2=alpi.jpg&descrizione1=Marmolada 2007&
    Ciao spero vada bene, altrimenti sono qui.

    Codice PHP:
    // directory dove sono le foto
    pathFoto "img/"

    // creo un container che ti potrà tornare utile per una eventuale maschera 
    var C:MovieClip this.createEmptyMovieClip("container",1)
    C._x=0
    C
    ._y=0

    // impostazioni iniziali larghezza altezza foto per miniature
    dimW 150 10 // il 10 è lo spazio fra un thumb e l'altro
    dimH 150 10
     

    var leggiDati:LoadVars = new LoadVars()
    leggiDati.onLoad=function(caricato){
          if(
    caricato){
             
    // matrice thumb  Max Col 3 x .........
              
    I=1,Row=0,Col=1

              
    while(this["photo"+I] != undefined){

                    
    // creo in container il primo BOX
                    
    var mc:MovieClip C.createEmptyMovieClip("box"+IC.getNextHighestDepth())
                    
    mc._x = (Col*dimW dimW
                    
    mc._y Row*dimH

                   
    // creo nel BOX il Campo per la descrizione foto
                    
    mc.createTextField("desc",1,0,0,150,20)
                    
    mc.desc.text=this["descrizione"+I]

                   
    // creo nel BOX il clip che riceverà la FOTO
                    
    var IMG:MovieClip mc.createEmptyMovieClip("img",2)
                    
    IMG._x=0
                    IMG
    ._y=20
        
                  
    // chiamo il preload
                    
    myPreload((pathFoto+this["photo"+I]), IMG)

                  
    // controllo gli indici della matrice
                    
    I++
                    if (
    Col ){ Col++}else{Col=1;Row++}
              }
    }
    leggiDati.load("fileEsterno.txt")
                   
                                          
                



    function 
    myPreload(nomeFoto,nomeClip)

         var 
    mcLoad:MovieClipLoader = new MovieClipLoader();
         var 
    mcList:Object = new Object();

         
    mcList.onLoadInit = function(target){
        
    target._width150;
                 
    target._height=150;
         }

         
    mcLoad.addListener(mcList);
         
    mcLoad.loadClip(nomeFoto,nomeClip);


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    35
    Grazie mille!

    A forza di tentativi e consigli raccolti qua e la ero riuscito a sistemare la mia versione ma ora mi studio la tua che sicuramente è molto più "profescional" e imparo qualcosa di sicuro!

  4. #4
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ciao a tutti! non riesco a mettere una maschera che copra le immagini..su un livello superiore...(tipo mettere un rettangolo per coprire un poco l'immagine che cambia)
    come si fa?

    grazie

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.