본문 바로가기
  • 오직 예수 그리스도
스위시세상/스위시 고급

auto color matrix

by 어린양01 2011. 8. 25.

 


 
 
 
 

 

 

 

첨부파일 a1에_붙여넣을_소스.txt

 

 

onSelfEvent(load){
    var totFrame:Number=150;
    var sharpenDegree:Number=-3;   
   
    var stepFrame:Number =0;
    var totPic:Number=-1;
    var currentPic:Number=0;
    var beforePic:Number;
    var operStat:Number=2;
   
    do{
        stepFrame++;
        aa["img"+stepFrame]==null?totPic=stepFrame:null;
    }while(totPic==-1);
    stepFrame=0;
    sharpenDegree>0?beforePic=totPic-1:beforePic=1;
   
    aa.duplicateMovieClip("aa2",0);
    aa.swapDepths(1);
    imgClear(aa,currentPic,totPic);
    imgClear(aa2,beforePic,totPic);
   
    import! flash.filters.ColorMatrixFilter;
    var startMat:Array=[
        1, 0, 0, 0, 0,
        0, 1, 0, 0, 0,
        0, 0, 1, 0, 0,
        sharpenDegree, sharpenDegree, sharpenDegree, (-3)*sharpenDegree, (sharpenDegree<0)*255];
    var endMat:Array=[
        1, 0, 0, 0, 0,
        0, 1, 0, 0, 0,
        0, 0, 1, 0, 0,
        sharpenDegree, sharpenDegree, sharpenDegree, 0, (sharpenDegree>0)*255];
    var betweenMat=new Array;
    
    
    
     aa.onPress=function(){
         if(operStat==0){
             operStat=1;   
         }
     }
    
    
    
     onEnterFrame=function(){
         switch(operStat){
             case 1:
                 currentPic==totPic-1?currentPic=0:currentPic++;
                 if(sharpenDegree>0){
                     beforePic=currentPic==0?totPic-1:currentPic-1;
                 } else{
                     beforePic=currentPic==totPic-1?0:currentPic+1;
                 }
                 imgClear(aa,currentPic,totPic);
                 imgClear(aa2,beforePic,totPic);
            
                 stepFrame=0;
                 operStat=2;                
 
 
            
             case 2:
            
                 stepFrame++;
                 for(var i:Number=0;i<20;i++){
                     betweenMat[i]=startMat[i]+(endMat[i]-startMat[i])*stepFrame/totFrame;
                 }
 
                 var showMat:Object=new ColorMatrixFilter(betweenMat);
                 aa.filters=[showMat];                         
                 stepFrame==totFrame?operStat=0:null;
                 break;
         }
     }
}

function imgClear(imgMc:MovieClip, exceptPic:Number, totalPic:Number){

    for(var i:Number=0;i<totalPic;i++){
        i==exceptPic?imgMc["img"+i]._visible=true:imgMc["img"+i]._visible=false;
    }

}

'스위시세상 > 스위시 고급' 카테고리의 다른 글

슬라이딩 갤러리  (0) 2011.09.21
플라이 인 줌 (Fly in zoom and settle효과)  (0) 2011.09.03
Paint 효과 영상 만들기  (0) 2011.08.13
_3D_wave_mask  (0) 2011.08.09
5조각image 조립하기  (0) 2011.08.09