• User

    Aiuto con scroller di immagini (loghi)

    Buongiorno a tutti,
    dovrei realizzare un piccolo filmato flash che faccia scorrere dei loghi verticalmente uno alla volta all'infinito. Nulla di difficile lo potrei fare tramite un'animazione normale ma volevo farlo gestire attraverso il caricamento delle immagini dall'esterno e tramite un file XML, inoltre voglio imparare un pò di Actionscript e questo mi pare l'occasione adatta.

    Premetto che mi sono già documentato un pò sul linguaggio quindi volevo solo avere qualche linea guida.
    Innanzitutto un passo per volta: come faccio a fare in modo che mi carichi un'immagine e la faccia partire da una posizione fino a farla arrivare in un altra con una certa velocità?

    Grazie in anticipo 🙂


  • Super User

    Ciao ManueLHT, questo codice effettua uno scroller di immagini tramite file xml.

    
    larghezzamovie = Stage.width; //imposto la larghezza del movie
    posSin = 1; //imposto la posizione iniziale
    vel = -5; //imposto la velocità e direzione
    dimImm = 184; //imposto la posizione iniziale
    letto = false; //letto = false
    leggi = function () {
        nuovo = new XML(); //creo un oggetto XML
        nuovo.ignoreWhite = true; //spazi vuoi eliminati
        nuovo.load("file.xml"); //file xml
        nuovo.onLoad = function(success) { //se è caricato
            if (success) {
                nfoto = this.childNodes.length; // prelevo il nume di foto
                posDes = nfoto; //affianco i mc
                for (i=0; i<nfoto; i++) {
                    _root.attachMovie("mc", "mc"+(i+1), i+1);
                    _root["mc"+(i+1)]._y = dimImm*i;
                    _root["mc"+(i+1)]._x = 0;
                    _root["mc"+(i+1)].contenitore.loadMovie(this.childNodes*.attributes.photo);
                    _root["mc"+(i+1)]._alpha = 100;
                }
                letto = true; //letto = true
            } else {
                trace("errore di lettura");
            }
        };
    };
    leggi();
    _root.onEnterFrame = function() {
        if (letto) {
            for (i=1; i<=nfoto; i++) {
                _root["mc"+i]._y += vel;
            }
            //Impostazioni per la velocità dei mc
            if (vel>0 && _root["mc"+posSin]._y>0) {
                _root["mc"+posDes]._y = _root["mc"+posSin]._y-dimImm;
                posSin = posDes;
                posDes--;
                if (posDes == 0) {
                    posDes = nfoto;
                }
            }
            if (vel<0 && _root["mc"+posSin]._y<=-dimImm) {
                _root["mc"+posSin]._y = _root["mc"+posDes]._y+dimImm;
                posDes = posSin;
                posSin++;
                if (posSin>nfoto) {
                    posSin = 1;
                }
            }
        }
    };
    
    
    
    
    ```E questo è il file xml
    

    <foto photo="img/1.jpg"></foto>
    <foto photo="img/2.jpg"></foto>
    <foto photo="img/3.jpg"></foto>
    <foto photo="img/4.jpg"></foto>
    <foto photo="img/5.jpg"></foto>
    <foto photo="img/6.jpg"></foto>
    <foto photo="img/7.jpg"></foto>
    <foto photo="img/8.jpg"></foto>
    <foto photo="img/9.jpg"></foto>
    <foto photo="img/10.jpg"></foto>

    Estrapolato dal blog di Julius Design.

  • User

    Innanzitutto grazie mille per la disponibilità.
    Ho provato a farlo ma non funziona, praticamente ho messo tutto il codice nel primo keyframe però non mi carica nulla, il file xml lo carica correttamente e per quanto riguarda le immagini ho provato a metterci tutti i percorsi possibili ed immaginabili quindi non dovrebbe essere quello l'errore, cosa potrebbe essere?


  • Super User

    Ciao scarica il sorgente originale da quà, il filmato nasce come scroller orizzontale, devi cambiare le coordinate x con y.
    http://www.juliusdesign.net/slide-scorrevole-dinamica-in-flash/


  • User

    Ok ora funziona grazie mille, il buon vecchio Julius è sempre utile in questi casi xD

    Comunque se volessi fare in modo che l'immagine arrivata al centro della scena si fermi per tipo un paio di secondi e poi riparta come posso fare?


  • User

    Come posso fare per fare in modo che l'immagine si fermi quando arriva al centro della scena e poi riparta?