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

역반사 스크립트 물결넣어 배경 만들기

by 어린양01 2016. 1. 9.

 

역반사 스크립트 물결넣기

1. 무비 720X540

2. Content로 Image 1장불러와 작업창으로 불러오고 W=720
   H=350, O=X 좌상 X=0 Y=0, 이름 a1로 1과 150Fr에 place주고 무
   비클립으로 묶고 이름 aa로 다시무비클립으로 묶고 이름 A로, A에
   아래 파일 받아 스크립트 복사하여 넣어 준다, (모두 O=X 좌상이다)

3. 이미지한 장 불러와 W=400 H=350, O=X Center X=360 Y=175,
   으로 이름을 img1로 Target에 체크하고 원을 그려 라인=none Fill
   color=Radial gradient 색은 좌측=흰색, Alpha=100 우측색=흰색,
   Alpha=0,으로  W=400 H=350, O=X Center X=360 Y=175,으로 이
   름 mask로하고 Target에 체크하고

4. 둘을 무비클립으로 묶고 이름 bg로하고 +로된 bg에 아래 스크립
   트 넣어준다

onSelfEvent (load) {
    this.img1.setMask(this.mask);
    this.img1.cacheAsBitmap=true;
    this.mask.cacheAsBitmap=true;
}

5. A 복사하여 붙여넣고 Y에 1+ 해 주고 물결불러와 한칸 아래로 내
   려 위와무비클립으로 묶고 마스크체크하고 이름 w로 하고 순서는
   맨 아래가 A,w,bg 순이고 모두선택 무비클립으로 이름 bg로

 

A에 붙여넣을 스크립트

 onSelfEvent(load){
    const imgTot:int=1;   //이미지 갯수
    const imgW:int=720;   //이미지 폭
    const imgH:int=350;   //이미지 높이
   
    import flash.display.BitmapData;
    import flash.geom.Rectangle;
    import flash.geom.Point;
    import flash.geom.Matrix;
    import flash.filters.DisplacementMapFilter;
   
    var rect:Rectangle=new Rectangle();   
    var pt:Point=new Point();
    var reflectMat:Matrix=new Matrix(1,0,0,-1,0,350);
   
    var imgData:BitmapData=BitmapData.loadBitmap("0");     // 사진 원본이 들어감.
    var perlinData:BitmapData = new BitmapData(imgW,190);  // Perlin Noise 굴곡 이미지가 들어감.
    var refectData:BitmapData = new BitmapData(imgW,190);   // DisplacementMap필터 적용 물결 이미지
  
    var currentImg:int=0;
    var imgX:int=0;
    var perY:int=0;
   
    function nemo(x1:int=0, y1:int=0, width1:int=720, height1:int=350):Object{    //Rectangle 사각 영역지정 함수.
        rect.x=x1, rect.y=y1, rect.width=width1, rect.height=height1;
        return rect;
    }
    function jum(x1:int=0, y1:int=0):Object{                                 // Point 점, 위치 지정용 함수
        pt.x=x1, pt.y=y1;
        return pt;
    }
   
    createEmptyMovieClip("reflectMc",1);  //반사하는 displacementmap필터가 들어가는 무비클립
    reflectMc.attachBitmap(refectData,0);
   
    createEmptyMovieClip("perlinMc",2);   // 위 무비클립에 perlin을 덮어서 굴곡에 명암 처리.
    perlinMc.attachBitmap(perlinData,0);
    perlinMc.blendMode="overlay";
    perlinMc._y=reflectMc._y=350;
 
    var disFlt:DisplacementMapFilter=new DisplacementMapFilter(perlinData, jum(), 0, 1, 10, 80, "ignore");  //랙의 근원
 
 
}
onSelfEvent(enterFrame){
    refectData.draw("aa",reflectMat,,,nemo(0,0,imgW,190));   // 하단 이미지 높이 190필셀을 따내고 뒤집는다.
    perlinData.perlinNoise(100, 15, 1, 1, 0, 1, 7, 1, jum(perY*3,perY--));  // perlinNoise로 물결소스를 만든다.
    refectData.applyFilter(refectData,nemo(0,0,imgW,190),jum(),disFlt);  // DisplacementMap필터 적용.
}

 

 

bg1.swi

 

bg1.swf

 

bg1.swf
0.09MB
bg1.swi
0.52MB

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

그라디언트 마스크기법  (0) 2016.01.10
노이즈 영상 만들기  (0) 2016.01.09
스크립트로_그림자효과넣기  (0) 2016.01.09
바탕 투명하게 하기  (0) 2016.01.09
[스크랩] 4. avi 직접 로드하기  (0) 2016.01.02