Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592

    immagini assolvenza/dissolvenza tween

    con questo codice
    Codice PHP:
    import mx.transitions.*;
    import mx.transitions.easing.*;

    var 
    mioLoader:MovieClipLoader= new MovieClipLoader();
    var 
    mioList:Object= new Object();
    mioList.onLoadStart=function(target:MovieClip){
        
    target._alpha=0;
    }
    mioList.onLoadInit =function(target:MovieClip){
        
    //azioni dopo il caricamento
        
    trace("pronto")
    //qui calcoli le sue dimensioni
        
    larg=target._width;
        
    alt=target._height;
    //e fai il tuo spostamento cioè lo posizioni al centro del clip contenitore

    target._x=target._x-target._width/2
    target
    ._y=target._y-target._height///poi effetto fade
    var ___TWEEN___:Tween = new Tween(target"_alpha"Regular.easeIn010010false);

    }

    mioLoader.addListener(mioList);

    //qui il richiamo alla foto ed alla classe moviecliploader
    mioLoader.loadClip("prova.jpg",cont); 
    mi carico una foto con il tween di assolvenza.
    in realtà il mio caso è un po' diverso perchè mi carico tramite loadvars i nomi delle foto da php.
    quello che non riesco ad adattare è dopo n fotogrammi, o se si potesse fare tramite script dopo un tot di secondi, fare in modo che la foto se ne va sempre in alpha e compare quella dopo..
    l'unico modo in cui sono riuscito a far andare via quel clip in dissolvenza è mettere nel codice in 10 frame consecutivi target._alpha = (target._alpha -10) ..ma è una FAGIANATA!!

    qualcuno che mi da una mano?
    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    13
    ma se carichi le img nel mc "cont", xchè non fai la tween alpha sul mc "cont"?

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    faccio quella di entrata con il codice che ho postato.
    ma quella di uscita non riesco a farla.. vorrei fosse nello stesso frame, magari temporizzata con setinterval dopo n° secondi..

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    13
    Guarda questo effetto che ho creato un pò di tempo fa su

    www.progettodeco.altervista.org/pag

    quando va via una immagine appare immediatamente l'altra in "assolvenza"

    A quel tempo usai una risorsa ottima x flash mx con as2. Non ricordo il nome di chi lo ha postato, altrimenti lo citerei x il giusto merito. Ti posto il codice

    per questo codice devi avere 1 cartella "img" con immagini nominate 1.jpg, 2.jpg, 3.jpg ecc. ecc. oppure te lo personalizzi



    var interceptMovieClip:Function = function (target_mc:MovieClip):MovieClip {
    var temp:MovieClip = (target_mc._name == "firstMC") ? secondMC : firstMC;
    return temp;
    };
    var slideShow:Function = function (target:MovieClip, index:Number, shifting:Number) {
    var other = interceptMovieClip(target);
    var int_index = index;
    var mclo:MovieClipLoader = new MovieClipLoader();
    var mcli:Object = new Object();
    mcli.onLoadProgress = function (target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
    trace("caricati "+bytesLoaded+" di "+bytesTotal);
    }

    mcli.onLoadError = function(target:MovieClip, errorCode:String) {
    if (errorCode == "URLNotFound") {
    slideShow(target, index, shifting);
    }
    };
    mcli.onLoadInit = function(target:MovieClip):Void {
    trace("img/"+int_index+".jpg");
    int_index += 2;
    var t:Object = new mx.transitions.Tween(target, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, .5, true);
    t.onMotionFinished = function() {
    var a = setInterval(function () {
    clearInterval(a);
    var t:Object = new mx.transitions.Tween(target, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, .5, true);
    t.onMotionFinished = function() {
    mclo.loadClip("img/"+int_index+".jpg", target);
    target.swapDepths(other);
    };
    }, shifting*1000);
    };
    };
    mclo.addListener(mcli);
    mclo.loadClip("img/"+int_index+".jpg", target);
    };
    //
    var time_to_slide:Number = 5;
    var firstMC:MovieClip = _level0.createEmptyMovieClip("firstMC", 1);
    var index1:Number = 1;
    var secondMC:MovieClip = _level0.createEmptyMovieClip("secondMC", 2);
    var index2:Number = 2;
    slideShow(firstMC, index1, time_to_slide*2);
    setTimeout(slideShow, 5000, secondMC, index2, time_to_slide*2);


    non so se è quello che cerchi, spero possa aiutarti.
    buon lavoro, ciao

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    eh, eh, eh... questo l'ho già provato, l'ho trovato qua..
    http://forum.html.it/forum/showthrea...readid=1201924
    puoi mettere i ringraziamenti..


    grazie comunque..

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ciao, al posto del codice scritto in quella discussione, io utilizzerei direttamente la classe che ho riportato in questo post, che per te è ideale visto che carichi i nomi delle immagini con LoadVars, così li puoi inserire dentro un array con un ciclo e poi passare quell'array al costruttore della classe, in modo da ottenere il tuo slideshow in maniera automatica, senza aggiungerealtro codice all'interno del tuo filmato.

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    marò.. mò me lo guardo.. sembra moooolto complicato..
    speriamo lo riesco a personalizzare..

    grazie and80..

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Sarebbe un po' complicato doverlo riscrivere daccapo, ma in quel caso il codice è già bell'e pronto, non devi modificare nulla se quello che chiedi è solo la gestione dello slideshow con assolvenza/dissolvenza incrociata.
    L'unica cosa che devi fare è copiare e incollare in un file .as vuoto il codice della classe e chiamare il file SlideShow.as e metterlo nella stessa cartella del fla in cui intendi usarlo.
    Nel codice che hai già scritto dovrai inserire i vari nomi che ricevi dall'esterno dentro un array (con la funzione push) e richiamare la classe con la riga
    var s:SlideShow = new SlideShow (mc, a, 0.5);
    dove il primo parametro è il movieclip target in cui intendi visualizzare lo slideshow, il secondo è l'array e il terzo è il tempo di visualizzazione di ogni singola immagine.

    Se hai difficoltà con questa cosa, basta che inserisci qui il codice che usi per caricare il file dall'esterno con loadvars e per lo meno un estratto di quello che viene letto da flash (tanto per capire come impostare il ciclo dentro all'onLoad del LoadVars.

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    non stavo CHIEDENDO di modificare la cosa..
    è solo che non essendo esperto non MI assicuro la soluzione alla cosa...

    comunque grazie, non avevo capito nemmeno di dover creare un file .as..


  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    La discussione che ti ho linkato è un po' lunga e ci si può perdere un pochino, ma già dalle prime battute in cui si parla della classe è possibile comprenderne l'uso e le azioni elementari per utilizzarla. Non ti prometto nulla, ma se dovessi riuscire, in settimana estrarrò il succo del discorso inserendo qui il codice e le azioni per utilizzarlo.
    Come ti dicevo, se vuoi puoi intanto postare il codice che usi per caricare i nomi dall'esterno, così da gestire il discorso in maniera più mirata alla tua necessità.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.