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 |