Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 22 su 22
  1. #21
    Ciao,
    hai ragione anche tu che non sempre il codice è spiegato nel suo funzionamento anche perché spesso il codice è un semplice copia incolla che si trasferisce da un thread all' altro e che spesso solo chi l'ha creato sa come funziona. Comunque provo a spiegarti questo codice qui che ho scritto in maniera simile al preload di immagini per facilitare chi lo ha già studiato:

    Per prima cosa sullo stage devi avere
    1 movie clip vuoto chiamato 'visibile'
    2 bottoni 'avanti'-'indietro'
    1 campo testo dinamico chiamato 'msg'


    Le prime 3 variabili penso che non siano difficili da capire,
    immagini = array che contiene i path dei movi da caricare (galleria di immagini o altro)
    nimmagini = è il numero di movie della galleria - 1 perché nell' array il primo elemento è in posizione zero.
    num = ci servirà come indice per la galleria.

    Cosa succede:

    per prima cosa carichiamo sul movie 'visibile ' il primo elemento della galleria (visibile.loadMovie(immagini[0]) ) e qui il codice si blocca fino a quando l' utente non preme il bottone 'avanti'. Alla pressione l'indice della galleria si sposta sulla posizione 1 dell'array (secondo elemento) e poi passa questo valore come parametro 'n' alla funzione 'carica'.

    La funzione 'carica ' crea 1 movie clip vuoto chiamato 'cache ' ed un clip vuoto chiamato 'invisibile ' all' interno di 'cache '.

    (var _movie=_root.createEmptyMovieClip('cache',1000);
    _movie.createEmptyMovieClip('invisibile',1001)



    E' come se tu avessi 2 mc annidati sullo stage.

    La funzione 'download ' è una funzione locale del movie 'cache ' che serve per caricare la nuova immagine nel movie 'invisibile '.
    (this.invisibile.loadMovie(immagini[n])

    La funzione 'onEnterFrame ' è sempre una funzione di 'cache ' e serve per controllare che la nuova immagine sia stata caricata totalmente all' interno della cache del browser. Quando ha finito di caricare deve rendere il movie 'invisibile ' invisibile (this.invisibile._visible = false) poi carica la stessa immagine nel movie clip 'visibile ' che hai sullo stage, quindi l'immagine si potrà vedere, ed infine elimina dalla memoria i 2 mc virtuali 'cache ' e 'invisibile ' (this.unloadMovie())

    Ho scritto un tema e spero chi sia comprensibile

    Bye



    // FRAME 1 STAGE

    immagini = new array("primo.jpg","secondo.jpg","terzo.jpg");
    nimmagini = immagini.length - 1;
    num = 0;
    stop();

    _root.msg.text="Stai vedendo immagine "+(num+1);
    visibile.loadMovie(immagini[0]);

    function carica(n) {
    var _movie = _root.createEmptyMovieClip("cache", 1000);
    _movie.createEmptyMovieClip("invisibile", 1001);

    _movie.download = function() {
    _root.msg.text="Stai vedendo immagine "+(n+1);
    this.invisibile.loadMovie(immagini[n]);
    };
    _movie.onEnterFrame = function() {
    if (this.invisibile.getBytesLoaded() == this.invisibile.getBytesTotal() &&
    this.invisibile.getBytesTotal() > 100) {
    this.invisibile._visible=false;
    _root.visibile.loadMovie(immagini[n]);
    this.unloadMovie();
    }
    };
    _movie.download();
    }

    // TASTO INDIETRO

    on (release) {
    if (num>0){
    num -=1;
    carica(num);
    }else{
    num=0;
    }
    }

    // TASTO AVANTI

    on (release) {
    if (num<nimmagini){
    num +=1;
    carica(num);
    }
    else{
    num=nimmagini;
    }

    }

  2. #22
    burzum-war
    Guest
    ciao lucker, scusa se nn ti ho risposto prima ma ho dei grossi problemi con la connessione
    sei stato + ke gentile a spiegarmi tutto il procedimento, sai c'erano delle funzioni ke nn avevo mai usato e ke nn riuscivo a capire.
    ancora grazie sia a te ke agli altri

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