Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    9

    immagini esterne a rotazione con dissolvenza e preload

    Voglio creare un filmato e caricare le immagini esterne in rotazione con un certo intervallo di tempo. Ad ogni immagine voglio associare un preload. Ho visto un po’ di esempi tra vari forum, pero c'è sempre qualcosa che mi manca.
    Qualcuno mi può aiutare?
    Ciao

  2. #2
    Io utilizzo questo:

    crei un movie clip vuoto sullo stage e lo istanzi foto al suo interno inserisci altri 2 movie clip vuoti uno lo istanzi clipA e l'altro clipB

    poi torni sullo stage principale selezioni foto e gli applichi questo script
    ----------------------------------------
    onClipEvent (load) {
    clip = "B";
    function swappa() {
    car = laClip1.getBytesLoaded();
    tot = laClip1.getBytesTotal();
    perc = Math.round((car/tot)*100);
    _parent.loadimage = "Loading..."+perc+"%";
    if (car>1024 && car == tot) {
    if (laClip1._alpha<90) {
    laClip1._alpha += 2;
    laClip2._alpha -= 2;
    _parent.loadimage = "";
    } else {
    laClip1._alpha = 100;
    laClip2._alpha = 0;
    clearInterval(e);
    _parent.loadimage = "";
    }
    }
    }
    // 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 selezioni il frame e applichi al frame questo


    code:--------------------------------------------------------------------------------
    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");
    setInterval(this, "carica", OgniQuantiSecondi*1000);
    --------------------------------------------------------------------------------


    devi solo cambiare il numero di foto che hai e evntualmente i secondi di attesa tra una foto e l'altra

    poi per il resto nn devi fare altro che salvare il file e mettere nella stessa dir del tuo swf o exe le tue jpg che dovrai però nominare in modo sequenziale

    1.jpg
    2.jpg
    ....
    ecc...


  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    9
    ti ringrazio. Ormai ho perso le speranze.
    Ti farò sapere come andata.
    Ciao

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    9
    tutto OK, anche se dovevo ricorerre a qualche truchetto per risolvere caricamente della prima (ultima)foto.
    Comunque grazie

  6. #6
    Si, in effetti il difetto è proprio quello del caricamento della prima foto che è un po' lento...
    ma facilmente aggirabile.

  7. #7
    ciao, molto utile l'articolo.

    potrei generare random la partenza?

    foto.clipB.loadMovie("4.jpg");

    dato che lo carico in pagine differenti non è bello partire sempre con la stessa.

    Grazie!
    www.granadilla.it
    Granadilla - Design Juice

  8. #8
    grazie lo stesso...ho risolto in questo modo:

    // random
    function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
    }
    for (var i = 0; i < 100; i++) {
    var n:Number = randRange(1, 15)
    trace(n);
    }
    foto.clipB.loadMovie("/img/gallery/"+n+".jpg");

    com'è???

    grazie!
    www.granadilla.it
    Granadilla - Design Juice

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    10

    Usare un file xml?

    Ciao a tutti..

    qualcuno mi sa indicare un modo per modificare velocemente questo codice in modo che utilizzi un file xml per i nomi ed il numero totale delle immagini e magari una descrizione? Vi sarei grato perchè ma non ne sono saltato fuori

    Grazie..

  10. #10

    Re: Usare un file xml?

    Originariamente inviato da folla4
    Ciao a tutti..

    qualcuno mi sa indicare un modo per modificare velocemente questo codice in modo che utilizzi un file xml per i nomi ed il numero totale delle immagini e magari una descrizione? Vi sarei grato perchè ma non ne sono saltato fuori

    Grazie..
    certo quel codice lo ho postato tempo fa e avevo anche dato una versione con didascalie e e caricamento da file delle immagini...

    sul frame

    codice:
    //carico da txt il numero di file che ho
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function(){
    	this.path.NumTotale = Number(this.totale);
    	carica();
    	setInterval(this.path.carica, (this.path.OgniQuantiSecondi*1000));
    }
    dati.load("file.txt");
    // 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);
    sul clip foto
    codice:
    onClipEvent (load) {
    	clip = "B";
    	function swappa() {
    		car = laClip1.getBytesLoaded();
    		tot = laClip1.getBytesTotal();
    		perc = Math.round((car/tot)*100);
    		_parent.loadimage = "Loading..."+perc+"%";
    		if (car>1024 && car == tot) {
    			if (laClip1._alpha<90) {
    				laClip1._alpha += 2;
    				laClip2._alpha -= 2;
    				_parent.loadimage = "";
    			} else {
    				laClip1._alpha = 100;
    				laClip2._alpha = 0;
    				clearInterval(e);
    				_parent.loadimage = "";
    			}
    		}
    	}
    	// 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 crei un file di testo che chiami pagina.txt e che conterrà le didascalie

    codice:
    nome1=Mario&nome2=Pippo&nome3=ciccio&nome4=paperino&
    in _root del filmato dovrai avere un campo di testo dinamico con nome istanza nome


    poi un file che chiami "file.txt" deve avere al suo interno questo:

    totale=5 // ovviamente metti il numero di foto che hai

    poi il funzionamento è =


    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

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.