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

    Effetti alpha a foto caricate da esterno

    Nei miei primissimi tentativi di preparare qualcosa di dinamico con flash ho provato a costruire una pagina che carichi delle foto esterne e le loro descrizioni da un file txt.
    La cosa più o meno va ma ho dei problemi a dare l'effetto alpha che avrei voluto alle foto facendole comparire lentamente e poi scomparire.

    Nello specifico, ho usato un "contenitore" dove carico, ciclicamente, le varie foto una per una prima di visualizzarle.

    Tentativo 1)
    Ho pensato di dare gli effetti alpha al contenitore... Macchè, le foto non vengono visualizzate.
    Qui trovate l'SWF (anche se non si vede per l'appunto praticamente nulla!) e il FLA.
    http://ilbuonzeph.altervista.org/ilm...on%20alpha.swf
    http://ilbuonzeph.altervista.org/ilm...on%20alpha.fla

    Tentativo 2)
    Pur non spiegandomi come mai il tentativo 1 non funzionava ho pensato ad un "accrocchio" per aggirare l'ostacolo.
    Beceramente, ho aggiunto un livello con un bel "toppone quadrato" nero il quale, applicando su di esso gli effetti alpha ed opportunamente sovrapponendolo al contenitore della foto dava l'effetto voluto.
    Peccato che funzioni solo in locale!
    Infatti in rete la foto "appare" solo all'ultimo e l'effetto in entrata quindi non si vede quasi.
    Immagino che questo sia dovuto al fatto che la foto non è stata ancora caricata quando l'effetto di alpha a comparsa inizia ma non so come risolvere il fatto.
    Qui trovate SWF e FLA:
    http://ilbuonzeph.altervista.org/ilm...fro/burfro.swf
    http://ilbuonzeph.altervista.org/ilm...fro/burfro.fla

    Quindi chiedo a voi, o illuminati: come mai nel primo tentativo non si vede nulla? E nel secondo, la causa è dovuta al fatto che la foto non è ancora caricata? E come si può risolvere il problemone?
    Grazie mille!

  2. #2
    posta il codice, di entrambe i casi per una risposta.

    comunque la soluzione è inserire un preloading che verifichi l'avvenuto caricamento della foto.

    Logicamente la funzione di caricamento dovrebbe essere questa:
    1) Fade-out del contenitore (in modo da renderlo "invisibile")
    2) caricamento della foto nel contenitore
    3) routine di "preload" per verifica caricamento
    4) a caricamento completato: Fade-in (in modo da rendere visibile la foto gradualmente)

    Puoi trovare alcuni esempi nel mio garage (il link è sotto la firma):
    img_effet.swf
    sfondorandom.swf

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    35
    Metto il codice ma non credo che dica tutto.
    Gli effetti di alpha non sono dati a codice (non so nemmeno come si faccia).

    Inoltre, se il problema come dici tu è che le immagini non sono ancora caricate come mai nel caso 1 non si vede nulla?
    Capisco il caso 2.
    Inoltre a me sarebbe piaciuto caricare le immagini una per volta in modo da rendere indolore il caricamento evitando di caricarle tutte all'inizio.

    Cmq, ecco il codice

    FRAME 1
    // carica descrizioni //
    dati = new LoadVars();
    dati.onLoad = function (success)
    {
    if (success)
    {
    totDesc=dati.tot;
    titoli =new Array();
    for(indDesc = 0;indDesc < totDesc; indDesc++)
    {
    pushed = titoli.push(dati["d" + indDesc]);
    }
    }
    else
    {
    trace("problemi con il file di testo");
    }
    }

    dati.load("descrizioni.txt");


    // prepara per caricare le foto //
    var indFoto = 0;
    images = new Array("01.jpg","02.jpg","03.jpg","04.jpg","05.jpg" ,"06.jpg","07.jpg","08.jpg","09.jpg","10.jpg");
    var car = new MovieClipLoader();
    url = ""; /* immettere il percorso per le immagini */
    gotoandplay(3);

    FRAME 2:
    Stop();

    FRAME 21:
    // imposta la desc per la prossima immagine
    mcContDesc.varDesc = titoli[indFoto];

    FRAME 95:
    // carica una foto per volta

    car.loadClip(url + images[indFoto], "mcPortafoto");
    car.onLoadComplete = function(success)
    {
    if (success)
    {
    mcPortafoto._x = 50;
    mcPortafoto._y = 110;
    mcPortafoto._visible = true;
    }
    else
    {
    trace("non ha caricato");
    }
    }

    FRAME 210:
    indFoto++;
    if (indFoto == 10)
    {
    indFoto = 0;
    };

    gotoAndPlay(21);

    Grazie.
    Ciao.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    35
    Dimenticavo: grazie per il garage! Ci rovisterò ben volentieri!

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.