Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    preload di immagini caricamente dinamicamente in un mc vuoto...

    Questo il codice nelle azioni del mc nel quale finiscono le immagini caricate...

    onClipEvent (load) {
    car = _parent.getBytesLoaded();
    tot = _parent.getBytesTotal();
    perc = parseInt((car*100)/tot) add "%";
    if (car == tot) {
    _width=487.4;
    _height=224.4;
    _x=34.4;
    _y=94.0;

    }
    }

    se metto due campi di testo dinamico e li nomino come car e tot..
    per verificare..non mi visualizzano nulla...

    Grazie per i vostri consigli..

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  2. #2


    inizia col mettere un solo campo di testo dinamico con variabile "perc"
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ho iniziato ... come mi hai suggerito

    ma... adesso si vedo qualkosa ma è statico..

    ovvero vedo per una foto 35% per un'altra 45% ma questi valori rimangono fissi... mentre li vorrei vedere appunto "scorrere" fluidamente fino a vederli sostituiti dall'immagine totalmente caricata...

    Se mi finisci di guidare ti ringrazio



    ps:Per vedere quanto ho detto sopra devo mettere il seguente codice in ciascun frame relativo ad ogni immagine caricata

    car = _root.mc.getBytesLoaded();
    tot = _root.mc.getBytesTotal();
    perc = parseInt((car*100)/tot) add "%";

    e non nelle azioni del movieclip mc su cui vengono caricate le immagini perchè in quel caso non visualizzo nulla.. anche se metto un solo campo dinamico appunto perc.
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  4. #4
    L'evento load viene attivato una sola volta all'inizio del caricamento (NON alla fine), e, per quanto riguarda la visualizzazione della percentuale, hai bisogno di un loop, che tempo per tempo verifichi lo stato del caricamento.
    Quindi, concettualmente, la tua è un'impostazione sbagliata.
    Prova a utilizzare il setInterval, come qui sotto:
    codice:
    // nel 1° frame della timeline principale definisco la funzione...
    function preload() { 
       car = _root.mc.getBytesLoaded(); 
       tot = _root.mc.getBytesTotal(); 
       perc = parseInt((car*100)/tot) add "%"; 
       // a caricamento completo 
       // il test > 24 serve per evitare il file vuoto
       if (car == tot  &&  car > 24) { 
           clearInterval(a);    // azzero l'intervallo
           _width=487.4; 
           _height=224.4; 
           _x=34.4; 
           _y=94.0; 
    	} 
    } 
    //
    //     poi, nel punto in cui fai il caricamento...
    //
    
       _root.mc.loadMovie(_root.foto);
       // avvii il preloader
       a = setInterval(_root.preload, 200);
    prova e fammi sapere (non l'ho testato )

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    provato ma...

    non mi visualizza nulla..

    Vediamo...

    con

    _root.foto cosa intendi???

    e anche con

    a = setInterval(_root.preload, 200); ???

    ovvero foto e a cosa sono???

    scusa la mia talvolta infinita e grazie 1000 per il tuo aiuto

    "Vero sapiente è colui che sa di non sapere" (Socrate)

  6. #6

    Re: provato ma...

    ho scritto un po' in fretta per cui mi sono dimenticato di spiegare tutto...
    con
    _root.foto cosa intendi???
    è la variabile che contiene il nome del file (l'immagine) da caricare.
    Immagino che tu abbia una serie di immagini da caricare e quindi tu debba caricare, volta per volta, un file con nome diverso.
    Mettiamo (ma è solo uno dei mille esempi possibili) che le tue foto abbiano tutte un prefisso uguale seguito da un numero progressivo, come panorama1.jpg, panorama2.jpg, panorama3.jpg, ecc.
    Allora farò:
    numimg ++ // incremento il numero immagine
    _root.foto = "panorama" + numimg + ".jpg"; // compongo il nome file
    _root.mc.loadMovie(_root.foto);

    ... e anche con
    a = setInterval(_root.preload, 200); ???
    a, invece, non è altro che il nome che ho attribuito al temporizzatore costruito con setInterval, potevo chiamarlo pippo oppure pluto.

    Per maggiori dettagli su setInterval guarda nella Guida di Flash, basta premere F1!

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    un preload per ogni foto che a sua volta entra in un suo clip...

    Dunque ho deciso di fare in questo modo...
    ogni frame avrà un suo clip che carica una sua foto... (MATRIOSKA SOLUTION )

    Ogni clip che carica la sua foto sarà composta da
    una scena preload con il seguente codice:

    primo frame

    bytes=_root.getBytesLoaded();
    bytestot=_root.getBytesTotal();


    if (_root.getBytesLoaded() == _root.getBytesTotal())

    {

    gotoAndPlay("immaginegrande", 1);

    }

    secondo frame


    gotoAndPlay (1);

    e da una per il caricamento immagine

    con il seguente codice

    stop();
    loadMovie ("http://www.miosito.it/img/4.jpg", foto); ecc...

    dove foto sarà il movie clip destinatario e contenitore della foto.

    Ora sembra filare tutto bene tranne il fatto che una volta che si sono equiparati i bytes totali a quelli in caricamento.. e si passa alla seconda scena con l'immagine caricata.. questa appare sempre dopo qualke fastidiosissimo secondo di attesa..

    Come posso ovviare a questa ulteriore e inaspettata attesa?

    Grazie 1000 se qualkuno/a lo sà!
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  8. #8
    La tua soluzione NON va bene, di fatto quel qualke fastidiosissimo secondo di attesa ne è la prova...

    Le istruzioni:
    bytes=_root.getBytesLoaded();
    bytestot=_root.getBytesTotal();

    Controllano se il filmato principale è caricato e NON se l'immagine è caricata.

    In più il comando di caricamento dell'immagine lo impartisci dopo VVoVe:

    Allora... tu carichi l'immagine con questa istruzione:
    loadMovie ("http://www.miosito.it/img/4.jpg", foto); ecc...

    Il movieclip contenitore quindi ha come nome istanza foto

    per cui il test di controllo sui bytes caricati va fatto così:
    bytes = foto.getBytesLoaded();
    bytestot = foto.getBytesTotal();

    in ogni caso il caricamento (loadMovie) va fatto prima di fare il preload!

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.