역반사 스크립트 물결넣기
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필터 적용.
}
'스위시세상 > 스위시자료' 카테고리의 다른 글
그라디언트 마스크기법 (0) | 2016.01.10 |
---|---|
노이즈 영상 만들기 (0) | 2016.01.09 |
스크립트로_그림자효과넣기 (0) | 2016.01.09 |
바탕 투명하게 하기 (0) | 2016.01.09 |
[스크랩] 4. avi 직접 로드하기 (0) | 2016.01.02 |