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

    preloader per immagini esterne in AS flash 8

    Salve a tutti e grazie a chiunque darà un contributo!
    Di sotto, ho postato il codice relativo al funzionamento di una gallery dinamica, dove nello stage del main.swf ho solo due bottoni "avanti" e "indietro".
    Al clik di uno di essi, dovrebbe partire il preload per caricare la foto successiva o precedente(ammesso che ce ne sia bisogno), e vorrei che il preload fosse una barra di avanzamento semplice. Ho fatto la barra di avanzamento(loading), si vede prima che compaia la foto, ma non si muove!!!!! nel senso che non avanza allo scaricare della foto!
    qualcuno sa dirmi qualcosa?
    grazie anticipatamente!
    ciao

    // loading functions //
    images = new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.j pg","7.jpg","8.jpg");
    var car = new MovieClipLoader();
    //
    loading._visible = false;
    posizionami._visible = false;
    var i = 0;
    url = "foto/";
    car.loadClip(url + images[i], "posizionami");
    //
    avanti.onPress = function () {
    if (i < images.length-1) {
    car.loadClip(url + images[++i], "posizionami");
    //trace(i);
    }
    }
    indietro.onPress = function () {
    if (i > 0) {
    car.loadClip(url+images[--i],"posizionami");
    //trace(i);
    }
    }
    //
    car.onLoadProgress = function(caricami, caricati, totali) {
    totale = Math.round((caricati*100)/totali);
    loading.txtBarra = "Loading " + totale + "%";
    loading.barra._width = Math.floor(totale * 1);



    }
    car.onLoadComplete = function(caricami) {
    loading._visible = false;
    posizionami._xscale = posizionami._yscale = 57;
    posizionami._visible = true;

    //posizionami.onPress = function () {
    //getURL("javascriptopImage('" + url + images[i] + "','Gallery 2006');");
    //}

    }
    car.onLoadError = function(caricami) {
    loading.txtBarra = "Errore jpg";
    }
    /*car.onLoadInit = function (caricami) {
    }*/
    car.onLoadStart = function (caricami) {
    loading._visible = true;
    }

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non è sul MovieClipLoader che devi agire, devi creare un oggetto listener e assegnare a quello le funzioni onLoadProgress, onLoadStart ecc... poi al MovieClipLoader assegni solo un addListener e il loadClip

    per saperne di più sull'utilizzo del MovieClipLoader --> http://forum.html.it/forum/showthrea...hreadid=557818

  3. #3
    Ciao, e grazie per aver risposto.
    (Parlo da uno che ci capisce poco) Il listener viene utilizzato per fare dei preload multipli?
    Cioè, le foto vengono caricate una dopo l'altra ma senza agire su alcun pulsante per il caricamento?

    Perchè ti spiego, a me il filmato funziona, vedo la barra di caricamento al click del pulsante "avanti", ma non si muove la barra di caricamento..

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da filippo5279
    Ciao, e grazie per aver risposto.
    (Parlo da uno che ci capisce poco) Il listener viene utilizzato per fare dei preload multipli?
    Cioè, le foto vengono caricate una dopo l'altra ma senza agire su alcun pulsante per il caricamento?

    Perchè ti spiego, a me il filmato funziona, vedo la barra di caricamento al click del pulsante "avanti", ma non si muove la barra di caricamento..
    puoi usare il MovieClipLoader indifferentemente per un unico preload o per preload multipli, il listener è solo un oggetto che tiene traccia delle "azioni" utilizzate e ne comunica l'avvenimento al MovieClipLoader, poi quello che comanda è il parametro che si mette normalmente negli eventi, ti faccio un esempio spicciolo

    codice:
    var mcLoad:MovieClipLoader = new MovieClipLoader();
    var mcList:Object = new Object();
    mcList.onLoadStart = function(target){
    trace(target._name+" ha iniziato lo scaricamento");
    }
    mcList.onLoadProgress = function(target, bt, bl){
    var perc:Number = Math.floor(bl/bt)*100;
    trace("Caricato "+perc+"% in "+target._name);
    }
    mcList.onLoadComplete = function(target){
    trace("Attendere..."+target._name+" sta per essere inizializzato");
    }
    mcList.onLoadInit = function(target){
    trace("Inizializzazione completata, le nuove dimensioni di "+target._name+" sono "+target._width+"x"+target._height);
    }
    mcLoad.addListener(mcList);
    mcLoad.loadClip("prova.jpg", myMC);
    con questo codice ogni evento farà riferimento a myMC, ossia al MovieClip target di loadClip

    ti ho confuso ulteriormente le idee o è più chiaro?!

  5. #5
    Ciao,
    diciamo che mi è chiaro l'utilizzo del listener come contenitore di azioni, ne stavo dando un occhiata sull'aiuto in linea di flash.
    Quello che non mi è chiaro, è se è indispensabile il riunire "onloadprogress, ..complete ecc ecc" in un listener ai fini del mio problema, che è un problema di barra di avanzamento di un preload, che non avanza.
    Sicuramente se mi consigli cosi, ci sarà una connessione tra il listener e il mio problema, ma non ho capito quale è.. (ed è normale!!ehhe)
    grazie ancora!

  6. #6
    Per dire,

    se io su dentro onloadprogress metto questo codice..:

    car.onLoadProgress = function(caricami, caricati, totali) {
    //totale = Math.round((caricati*100)/totali);
    //loading.txtBarra = "Loading " + totale + "%";
    //loading.barra._width = Math.floor(totale * 1);



    //Assegno i valori
    car = posizionami.getBytesLoaded();
    tot = posizionami.getBytesTotal();
    larghezza = 118; //Sostituire con il valore di scalatura

    //Calcolo la percentuale di avanzamento
    perc = Math.floor((car*100)/tot);



    //Allungo la barra e la posiziono in modo fisso sull'asse X
    setProperty("loading", _xscale, (perc*larghezza)/100);
    setProperty("loading", _x, 425);

    //Controllo lo stato di avanzamento
    if (car == tot) {
    next();


    }


    la barra di avanzamento mi funziona(nel senso che vedo che si muove), ma non mi funziona piu' il bottone "avanti"..

  7. #7
    Era semplicemente da cambiare il nome alla variabile "car"!

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da filippo5279
    Era semplicemente da cambiare il nome alla variabile "car"!
    oops, leggo solo ora... quindi hai risolto?!

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.