Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Ciclare effetto

  1. #1
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185

    Ciclare effetto

    Ho applicato alcuni degli effetti della classe Photomatrix, sviluppata da and80, ma non riesco a rendere ciclica l'animazione.

    var mcLoad:MovieClipLoader = new MovieClipLoader();
    var mcList:Object = new Object();
    mcList.onLoadStart = function(target:MovieClip) {
    target._alpha = 0;
    };
    mcList.onLoadProgress = function(target:MovieClip) {
    target._parent.testo.text = this[target._name+"__perc"]+"%";
    };
    mcList.onLoadInit = function(target:MovieClip) {
    target._alpha = 100;
    var effect = new PhotoMatrixMotion(target, "sepia", "normal", None.easeNone, 5, true);
    effect.onMotionFinished = function(){
    var effect1 = new PhotoMatrixMotion(target, "normal", "sepia", None.easeNone, 5, true);
    }
    };



    mcLoad.addListener(mcList);
    var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
    mcLoad.loadClip("../img/8.swf", mc);

    Ho anche provato ad inserire un onMotionFinished...yoyo(); ma senza esito...lo so è domenica ma qualcuno è in grado di aiutarmi?
    Il massimo sarebbe and80, cioè il proprietario ma chiunque sia in grado di aiutarmi è il benvenuto!

  2. #2
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185
    Buongiorno, scusate se quoto ma dovrei proprio risolvere questa cosa, perchè il mio capo vuole per forza, quel tipo di effetto, cioè che renda le immagini datate...nessuno?

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ciao, ho visto ora il messaggio.
    La classe non contiene un metodo yoyo e bisognerebbe crearselo, ma in questi giorni sono un pochino occupato e penso che non riuscirò ad aiutarti a fare questa modifica.
    Comunque non ho ben capito quello che devi fare esattamente, se hai bisogno di creare un rollover/rollout la cosa è più semplice.

  4. #4
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185
    no devo semplicemente applicare i filtri così come tu li hai creati, ma in modo che ritornino ad applicarsi di nuovo dall'inizio, cioè nell'esempio che ti ho inviato, dal sepia iniziale e così via.
    carico già un movie esterno con un fade in/fade out di alcune foto, e vorrei (non tanto io, quanto il mio capo...) che l'effetto si ripetesse in continuazione...spero di essermi spiegata

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Tanto per capire, come se una palla si spostasse da un punto ad un altro per poi tornare al punto di partenza, ciclicamente?

  6. #6
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Forse riesco ad aiutarti, ma non subito. Ora devo uscire, se riesco ti do qualche notizia più tardi o dopo pranzo.

  8. #8
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185
    Esattamente...è un sito per un negozio di mobili che compie 50 anni di attività, e l'idea era quella di far vedere il passaggio del tempo applicando appunto un filtro seppia o che desaturi a delle immagini moderne...

  9. #9
    Utente di HTML.it L'avatar di Coralba
    Registrato dal
    Jun 2002
    Messaggi
    185
    Va bene quando puoi...già è molto avere un aiuto...a dopo

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho fatto una prova ed ho visto che la classe era inappropriata per questa cosa
    così l'ho modificata:
    Codice PHP:
    import mx.transitions.*;
    import mx.transitions.easing.*;
    import flash.filters.ColorMatrixFilter;
    class 
    flash.PhotoMatrixMotion {
        
    /*
        Elenco degli effetti disponibili
        "normal", "luminance", "negative", "satured", "in_satured", "hue", "contrast", "in_contrast", "deep_red", "deep_blue", "deep_yellow", "fluorescent", "sepia"
        */
        
    private var normalMatrix:Array = [10000010000010000010];
        private var 
    luminanceMatrix:Array = [1000255010025500102550001255];
        private var 
    negativeMatrix:Array = [-10002550, -10025500, -1025500010];
        private var 
    saturedMatrix:Array = [0.30860.60940.082000.30860.60940.082000.30860.60940.0820000010];
        private var 
    in_saturedMatrix:Array = [3.0742, -1.8282, -0.24600, -0.92582.1718, -0.24600, -0.9258, -1.82823.7540000010];
        private var 
    hueMatrix:Array = [-0.5741.430.144000.4260.430.144000.4261.43, -0.8560000010];
        private var 
    contrastMatrix:Array = [000063.5000063.5000063.500010];
        private var 
    in_contrastMatrix:Array = [11000, -63501100, -63500110, -63500010];
        private var 
    deep_redMatrix:Array = [10000000000000000010];
        private var 
    deep_blueMatrix:Array = [00000000000010000010];
        private var 
    deep_yellowMatrix:Array = [01000010000000000010];
        private var 
    fluorescentMatrix:Array = [00000100000000000010];
        private var 
    sepiaMatrix:Array = [0.350.350.35000.300.300.30000.210.210.210000010];
        
    // Variabili della classe
        
    private var __target:MovieClip;
        private var 
    __initialMatrix:Array;
        private var 
    __finalMatrix:Array;
        private var 
    __easeType;
        private var 
    __time:Number;
        private var 
    __useSeconds:Boolean;
        
    // Eventi
        
    public var onMotionFinished:Function;
        
    // Costruttore della classe
        
    function PhotoMatrixMotion(target:MovieClipfrom:Objectto:ObjecteaseType:Function, time:NumberuseSeconds:Boolean) {
            
    __target target;
            
    __initialMatrix return_matrix(from);
            
    __finalMatrix return_matrix(to);
            
    __easeType easeType;
            
    __time time;
            
    __useSeconds useSeconds;
        }
        private function 
    return_matrix(effect):Array {
            if (
    typeof(effect) == "string") {
                var 
    matrix:Array = this[effect+"Matrix"].slice(0this[effect+"Matrix"].length-1);
                return 
    matrix;
            } else {
                var 
    matrix:Array = effect.slice(0effect.length);
                return 
    matrix;
            }
        }
        private function 
    __process__(target:MovieClipfrom:Array, to:Array, easeType:Function, time:NumberuseSeconds:Boolean):Void {
            
    target.filters = [new ColorMatrixFilter(from)];
            var 
    path:Object this;
            for (var 
    0i<from.lengthi++) {
                
    this['tw'+i] = new Tween(fromi.toString(), easeTypefrom[i], to[i], timeuseSeconds);
                
    this['tw0'].onMotionChanged = function() {
                    
    target.filters = [new ColorMatrixFilter(from)];
                };
                
    this['tw0'].onMotionFinished = function() {
                    
    path["onMotionFinished"]();
                };
            }
        }
        public function 
    startMotion () {
            if (
    __target != undefined) {
                
    __process__(__target__initialMatrix__finalMatrix__easeType__time__useSeconds);
            }
        }
        public function 
    set target (m:MovieClip) {
            
    __target m;
        }
        public function 
    get target ():MovieClip {
            return 
    __target;
        }
        public function 
    set fromMatrix (o:Object) {
            
    __initialMatrix return_matrix(o);
        }
        public function 
    get fromMatrix ():Object {
            return 
    __initialMatrix;
        }
        public function 
    set toMatrix (o:Object) {
            
    __finalMatrix return_matrix(o);
        }
        public function 
    get toMatrix ():Object {
            return 
    __finalMatrix;
        }
        public function 
    get matrix():Array {
            return 
    this['__initialMatrix'];
        }

    e l'ho testata con questo codice:

    Codice PHP:
    import flash.PhotoMatrixMotion;
    var 
    fromMatrix "sepia";
    var 
    toMatrix "normal";
    function 
    switchMatrix () {
        
    fromMatrix fromMatrix == "sepia" "normal" "sepia";
        
    toMatrix toMatrix == "normal" "sepia" "normal";
    }
    var 
    mcLoad:Object = new MovieClipLoader ();
    mcLoad.onLoadInit = function (target:MovieClip) {
        
    target._alpha 100;
        
    effect.startMotion();
    };
    mcLoad.loadClip("image.jpg"_root.createEmptyMovieClip("mc"1));
    var 
    effect:PhotoMatrixMotion = new PhotoMatrixMotion (mcfromMatrixtoMatrixnull5true);
    effect.onMotionFinished = function () {
        
    switchMatrix();
        
    this.fromMatrix fromMatrix;
        
    this.toMatrix toMatrix;
        
    this.startMotion();


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.