Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39

Discussione: transizione alpha

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    183

    transizione alpha

    Ciao a tutti.
    Sto preparando una presentazione di immagini, in cui il cliente possa inserirsi da solo le immagini, che caricherà in una cartella predefinita, richiamata nel codice actionscript con
    codice:
    loadMovie ("img/1.jpg","_root.uno-mc");
    Tra un'immagine e l'altra io vorrei che ci fosse una transizione con l'alfa, ossia che l'immagine uno sfuma nel nulla, mentre l'immagine due sfuma dal nulla ai colroi pieni. Come faccio a fare tutto ciò con actionscript?

    Le immagini eseguono la transizione da sole, però voglio dare la possibilità agli utenti di cambiare immagini con due pulsanti (AVANTI e INDIETRO) e vorrei che anche schiacciando questi pulsanti, la transizione tra le immagini avvenisse con l'alpha...
    Come faccio?

    Grazie a tutti!

  2. #2
    Mi pare che caricando le immagini esternamente non si possa utilizzare un effetto alpha, ma forse dico cavolate, counque io ho fatto una cosa simile e l'ho risolta con uno stratagemma:
    siccome lo sfondo della pagina era di tinta unita, nero, ho posizionato sulle foto un clip nero al quale applico l'effetto alpha una volta che carica l'immagine, l'effetto visivo è lo stesso e funziona.
    Ho capito che quando poni una domanda e nessuno ti sa rispondere, è arrivato il momento in cui sei tu a poter dare delle risposte agli altri...

  3. #3
    è possibile farlo puoi fare una cosa del genere io ti spiego come farlo per caricare in automatico le immagini.

    Allora.

    crei 2 movie clip vuoti li istanzi clipA e clipB
    li posizioni sullo stage nelle stesse coordinate.

    Poi i 2 movie clip li inserisci entrambi in un Movieclip che li conterrà

    Il movieclip contenitore lo istanzi foto

    Selezioni il movieclip foto F9 pannello azioni e gli applichi questo codice

    codice:
    onClipEvent (load) {
    	clip = "B";
    	function swappa() {
    		car = laClip1.getBytesLoaded();
    		tot = laClip1.getBytesTotal();
    		perc = Math.round((car/tot)*100);
    		_parent.loadimage = perc+"%";
    		if (car>1024 && car == tot) {
    			if (laClip1._alpha<90) {
    				laClip1._alpha += 2;
    				laClip2._alpha -= 2;
    			} else {
    				laClip1._alpha = 100;
    				laClip2._alpha = 0;
    				clearInterval(e);
    			}
    		}
    	}
    	// swappa
    	function playSlide() {
    		if (clip == "A") {
    			laClip1 = clipA;
    			laClip2 = clipB;
    			clip = "B";
    		} else {
    			laClip1 = clipB;
    			laClip2 = clipA;
    			clip = "A";
    		}
    		laClip1._alpha = 0;
    		laClip2._alpha = 100;
    		trace(laClip1);
    		trace(laClip2);
    		laClip1.loadMovie(+_root.partenza+".jpg", "test_mc");
    		e = setInterval(swappa, 20);
    	}
    }
    Poi timeline principale selezioni il frame pannello azioni
    copie incolli il codice di seguito
    codice:
    NumTotale = 4;
    // totale dei file che hai
    OgniQuantiSecondi = 6;
    // tempo attesa prima cambio immagine
    partenza = 0;
    function carica() {
    	partenza = partenza<NumTotale ? partenza+1 : 1;
    	foto.playSlide();
    }
    foto.clipB.loadMovie("4.jpg");//metti l'ultima foto per evitare buchi
    setInterval(this, "carica", OgniQuantiSecondi*1000);
    Qui puoi cambiare
    NumTotale ->sarà il num di immagini che hai
    OgniQuantiSecondi --> tempo per il cambio

    Il gioco è fatto ora non devi fare altro che creare le tue jpg
    che dovranno chiamarsi in modo sequenziale per es.

    1.jpg
    2.jpg
    3.jpg
    4.jpg

    Posizionare le jpg nella stessa cartella di dove si trova swf appena creato lanciare swf e avrai il tuo file

    Ovviamente la prima foto apparirà senza effetto tute le altre invece avranno fade in e out

    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    183
    Grazie mille enigma! Funziona!!!

    Solo due precisazioni... quando parte il filmato, parte con l'ultima foto, che poi scompare senza fade per lasciare il posto alla prima che arriva con il fade, e poi da qui inizia il ciclo regolare... come posso sistemarla in modo che la prima fotografia parta con il fade e inizi subito il ciclo regolare?

    Avrei anche bisogno di far inserire delle didascalie alle fotografie, che vengono pescate da dei file esterni, txt possibilmente, solo che adesso è tutto in actionscript, e non saprei come fare ad assegnare la didascalia giusta alla foto giusta...

    Ma lo script che mi hai dato tu fa anche il preload delle immagini prima di visualizzarle?

    Grazie ancora! ^____^

  5. #5
    si lo so lo ho fatto per eviatre un vuoto di 6 secondi all'inizio

    perchè la funzione parte con 6 secondi di pausa altrimenti

    se vuoi togliere il fatto della prima foto in quel modo basta eliminare

    foto.clipB.loadMovie("4.jpg");//metti l'ultima foto per evitare buchi


    il penultimo rigo del codice dal secondo blocco che ti ho scritto prima

    si il codice fa anche da preload

    puoi fare anche delle didascalie 1.txt ecc...

    e farle apparire ad ogni cambio aggiungendo il codice alla funzione
    carica

    ciao
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    183
    Sei sempre più gentile...

    Ti chiedo ancora una cosa, visto che sei così gentile e io sono così una frana in flash...

    Allora, ho messo un bottone x fare andare avanti alla foto successiva, nel caso uno volesse skippare subito, e uno per tornare indietro.
    Al bottone x andare avanti ho messo il tuo codice:

    codice:
    on (release){
    partenza = partenza<NumTotale ? partenza+1 : 1;
    	foto.playSlide();
    	}
    e funziona, solo che se io schiaccio sul bottone, la slide successiva non mi resta fuori quanto le altre, ma un tempo inferiore.. come mai?

    E poi, ultima cosa spero... come faccio a inserire le didascalie nel codice che mi hai dato?


    Grazie grazie grazie grazie mille... sei davvero paziente!

  7. #7
    è normale che rimanga meno tempo usando lo schip perchè tu skippi la foto ma cmq l'intervallo di tempo ogni quanti seconti continua ad essere quello di partenza quindi se tu skippi dopo 3 secondi visualizzerà 3 secondi visto che impostato a 6

    puoi creare una casella di testo dinamico con nome istanza nome
    attenzione nome istanza non nome var

    cambi il codice che ti ho dato prima sul frame con

    codice:
    NumTotale = 4;
    // totale dei file che hai
    OgniQuantiSecondi = 6;
    // tempo attesa prima cambio immagine
    partenza = 0;
    function didascalie() {
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function(success)
    {
        if(success){
            // scrivi il contenuto della variabile "nome"
            // nella proprietà "text" del campo di testo
            nome.text = dati["nome"+partenza];
    		trace("nome"+partenza)
        } else {
            // se il file non vie trovato,
            // avvertiamo l'utente 
           nome.text = "Didascalia non presente";
    	   
        } 
    }; 
    dati.load("pagina.txt");
    }
    function carica() {
    	partenza = partenza<NumTotale ? partenza+1 : 1;
    	foto.playSlide();
    	didascalie();
    }
    //questo serve per evitare il buco dei 6 secondi
    nome.text = "ultima";
    foto.clipB.loadMovie("4.jpg");
    //quindi questo tra i commenti se vuoi lo togli
    setInterval(this, "carica", OgniQuantiSecondi*1000);
    crei un file di testo e lo metti nella stessa cartella delle foto e swf lo chiami pagina.txt

    dentro il file di testo scriverai

    codice:
    nome1=Mario&nome2=Pippo&nome3=ciccio&nome4=paperino&
    nome1 corrisponde a foto1
    nome2 corrisponde a foto2
    .....
    ecc....per quante foto hai

    in questo modo aggiungi una foto e aggiungi una varibile corrispondente nel file dio testo

    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    183
    Grazie mille per avermi risposto di nuovo.. ho provato, ho incollato il tuo codice e ho inserito un campo di testo dinamico nella timeline principale, sullo stesso frame dove ho l'actionscript e il movieclip foto, e ho chiamato "nome" la sua istanza, senza toccare la variabile...

    ma non riesco a farlo funzionare... Non si vede nemmeno la scritta Didascalia non presente se il file non c'è...

  9. #9
    io lo ho provato e funziona...

    ripetiamo il codice del clip foto che poi contiene al suo interno
    clipA e clipB

    codice:
    onClipEvent (load) {
    	clip = "B";
    	function swappa() {
    		car = laClip1.getBytesLoaded();
    		tot = laClip1.getBytesTotal();
    		perc = Math.round((car/tot)*100);
    		_parent.loadimage = perc+"%";
    		if (car>1024 && car == tot) {
    			if (laClip1._alpha<90) {
    				laClip1._alpha += 2;
    				laClip2._alpha -= 2;
    			} else {
    				laClip1._alpha = 100;
    				laClip2._alpha = 0;
    				clearInterval(e);
    			}
    		}
    	}
    	// swappa
    	function playSlide() {
    		if (clip == "A") {
    			laClip1 = clipA;
    			laClip2 = clipB;
    			clip = "B";
    		} else {
    			laClip1 = clipB;
    			laClip2 = clipA;
    			clip = "A";
    		}
    		laClip1._alpha = 0;
    		laClip2._alpha = 100;
    		trace(laClip1);
    		trace(laClip2);
    		laClip1.loadMovie(+_root.partenza+".jpg", "test_mc");
    		e = setInterval(swappa, 20);
    	}
    }
    questo sul frame della timeline principale

    codice:
    NumTotale = 4;
    // totale dei file che hai
    OgniQuantiSecondi = 6;
    // tempo attesa prima cambio immagine
    partenza = 0;
    function didascalie() {
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function(success)
    {
        if(success){
            // scrivi il contenuto della variabile "nome"
            // nella proprietà "text" del campo di testo
            nome.text = dati["nome"+partenza];
    		trace("nome"+partenza)
        } else {
            // se il file non vie trovato,
            // avvertiamo l'utente 
           nome.text = "Didascalia non presente";
    	   
        } 
    }; 
    dati.load("pagina.txt");
    }
    function carica() {
    	partenza = partenza<NumTotale ? partenza+1 : 1;
    	foto.playSlide();
    	didascalie();
    }
    nome.text = "ultima";
    foto.clipB.loadMovie("4.jpg");
    setInterval(this, "carica", OgniQuantiSecondi*1000);
    poi quindi campo di testo dinamico sulla timeline principale lo istanzi nome

    e la cosa funziona. Impostazioni di pubblicazione player 6 as1 o player7 as2 funziona cmq

    il file di testo che sta nella stessa cartella dell'swf e si chiama pagina txt

    sarà così

    nome1=Mario&nome2=Pippo&nome3=ciccio&nome4=paperin o&

    ti assicuro che funziona
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    183
    Funziooonaaa!!
    Solo Iddio sa cosa avevo combinato prima...

    Grazie enigma, grazie mille davvero!!!!!! ^__________^

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.