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();