메뉴 건너뛰기

XE : Xpress Engine




웹디자인 강의

http://sena.bizhrd.com/senaflash/draw.html

일단 미리보시고.. 아무것도 안뜨는데.. 익스플로러 왼쪽 위쪽에서 한번 마우스를 클릭하신채로
움직여보세요.. 포토샵에서 브러시툴로 그림그리듯이.. 무비를 별로 크게 안만들어서 화면 4분의 1정도까지
밖에 안그려집니다..



시간관계상 액션만 그냥 써드립니다..
액션만 몇줄이면 다 끝나거든요..^_^;;


아무 무비클립이나 만듭니다..그냥 액션을 넣기 위한 무비클립이니깐 스테이지 밖에 놓으셔도 되고
빈무비클립만드셔서 스테이지에 올려놓으셔도 되고..

그다음 그 무비클립에 아래의 액션을 넣어줍니다...

onClipEvent (load) {
        _root.createEmptyMovieClip( "line1", 20 );
        
}
onClipEvent (mouseDown) {
        _root.down=1;
        _root.line1.moveTo(_root._xmouse,_root._ymouse );
}
onClipEvent (mouseUp) {
        _root.down=0;
}


onClipEvent (enterFrame) {
                        
                if(_root.down){
                        
                _root.line1.lineStyle( 0, 0x336699, 100 );
          
          _root.line1.lineTo(_root._xmouse,_root._ymouse);
          updateAfterEvent();
                }
}


설명을 드리죠..

먼저원리는 플래시의 moveTo와 lineTo를 이용해서 선을 그리는거구요..
하나하나 짚어 나가보죠..


onClipEvent (load) {
        _root.createEmptyMovieClip( "line1", 20 );

// 무비클립이 로드됐을때..그러니까 이 액션은 처음에 한번만 실행됩니다.
    createEmptymovieClip은 무비클립을 생성시키는 겁니다..
   위에서 line1은 무비클립의 인스턴스네임.. 20은 depth입니다..즉 무비상에서의 높이죠..
클수록 위쪽에 위치하게 되서 하위의 것들을 덮어버리게 되죠...
레퍼런스를 보면 어차피 다 나옵니다..^_^;; 영어로 나오긴 하지만..;;
        
}
onClipEvent (mouseDown) {
        _root.down=1;
        _root.line1.moveTo(_root._xmouse,_root._ymouse );
}

마우스가 눌렸을때...
down에다가 1이란 참값을 넣어줍니다..
마우스가 눌렸다는 것을 무비에 전달해주는 역할을 합니다..
그리고 moveTo는 draw하기위한 메써드중에 하나인데요..
선의 시작점을 지정해줍니다..
마우스를 클릭할 당시에 마우스의 위치로 시작점을 이동해줍니다..
그래야 마우스가 눌려진 위치부터 그림을 그리기 시작하겠죠?...


onClipEvent (mouseUp) {
        _root.down=0;
}

마우스클릭을 그만 두면 즉..release하면.. down값에 거짓값을 넣어줍니다..
그리기를 그만두게하기위한 액션이죠..


onClipEvent (enterFrame) {
                        
                if(_root.down){

down값을 체크해서 마우스가 눌렸을때만 아래의 액션..즉 선을 그리는 액션을 실행시킵니다..
                        
                _root.line1.lineStyle( 0, 0x336699, 100 );
선의 스타일을 정해주는 메써드입니다..
앞에 0은 선의 두께..0일때는 플래시의 hairline의 두께를 가지게 됩니다.. 없는게 아니구요...
그다음 0x336699는 눈치채셨겠지만 컬러를 나타냅니다.. 0x는 가만 두시구요..(플래시에서의 컬러 표현
법중 하나입니다..) 뒤에다가 rgb의 16진수 값을 넣어주면 됩니다..
그다음의 100은 알파값을 나타냅니다.. 100보다 작은값을 가지게 되면 점점 투명해지죠...
          
          _root.line1.lineTo(_root._xmouse,_root._ymouse);
lineTo가 직선의 끝점.. 아까 moveTo는 시작점을 지정해주고..lineTo로 끝점을 지정해주는거죠..
끝점을 마우스의 위치로 해주면서 계속 그림이 그려지게 됩니다..


          updateAfterEvent();

이건 넣으셔도 되고 안넣으셔도 되는...
setInterval액션을 사용하시거나 할때 fps에 상관없이 플래시에서 화면에 계속 뿌려주게 해주는
역할입니다.. 저는 그냥 습관적으로 넣습니다..그냥 버벅거림을 최소화 시켜주기 위한것이라고
보시면 됩니다..
                }

역시 질문있으시면 홈페이지오셔서 질문게시판에... 일일히 확인을 잘 못해서..-_-a....
개선점이 있으면 말씀해주시구요..^_^;; 저도 공부하고 있는거니깐요...
이건 드로우 메써드의 기본 원리입니다..
이걸 좀만 활용하시면 얼마든지 많은 효과에 적용시킬수 있습니다..
레퍼런스 찾아보시면 curveTo메써드도 있는데 이걸로 일러스트에서 그리듯이
곡선도 그릴수 있습니다..
이런걸로 몰할수 있냐 하시는 분이 계실까봐..제가 한거는 아니지만 재밌는 예제를 하나 첨부하죠..

http://feople.com/run/oo/data/dkn/1043948279/elasticBox.swf
휘플에서 칼럼쓰고계시는 dkn님의 무비입니다...



이것도 여러 액션이 물려있지만 기본은 이 curveTo를 이용한겁니다..
한 액션만으로 많은 효과를 낼순 없죠..
마치 덧셈뺄셈만 할줄안다고 삼각함수의 적분을 할수 없는것처럼..
하지만 적분을 하기위해서는 반드시 필요한것이죠.. 그럼..^_^;;
번호 제목 글쓴이 날짜 조회 수
공지 공지 강좌를 올리기전 공지사항을 읽어주세요 [12] Eccen 2004.12.15 48030
231 플래시 용량.. [3] 이유리 2006.11.27 5905
230 뷰렛에이스 [플래시 평가문항,설문지 제작강좌] - 2강 file 에듀멘 2006.07.29 5952
229 간단한 복제하기. [1] 김동현 2005.12.12 5957
228 if만 알아도 만들건 만든다.. [1] file 김영진 2005.06.23 5992
227 실습교재,실습소스,동영상강좌[1강~12강] 링크 [1] 윤선미 2006.11.21 6061
226 Flash->Motion Design용 Loop Source 만들기 2 덴디 2004.12.26 6064
225 스위시로 연하장 만들기 4 (동영상) ragee 2006.12.31 6090
224 [ PHP ] 플래시 게시판을 만들기 위한 기초 2 [4] file Fc 2004.02.25 6104
223 플래시의 기초(이론) [5] Fc 2005.05.11 6114
222 [플래시 MX 동영상 강좌] 8. 사운드 연습(공튀기기) [5] 서기 2005.05.27 6175
221 스위시맥스강좌 // 간단한 로드뮤비 만들어보기 [1] 문학의향기 2006.08.11 6249
220 아래 두개올린것을 믹스한겁니다~ㅎ [2] file 한태종 2007.02.14 6281
219 [ Flash MX ] 플래쉬 무비 안에서 커서 바꾸기 [5] file 김지성 2002.08.31 6432
218 [플래시 MX 동영상 강좌] 27. 엽서를 만들어보자. [8] 서기 2005.06.28 6528
217 스위시맥스강좌 // Replay 버튼 만들기 [1] 문학의향기 2006.08.11 6528
216 스위시맥스8강[퀴즈만들기] [2] 에듀멘 2006.02.28 6554
215 [플래시 MX 동영상 강좌] 26. 아날로그 시계를 제작해보자. [10] 서기 2005.06.24 6578
214 [플래시 MX 동영상 강좌] 5-1. 레이어를 이용한 에니메이션 보강 [8] 서기 2005.05.24 6579
213 스위시강좌 // 글보고 감추기 [1] 문학의향기 2006.08.11 6746
212 스위시맥스7강[스프라이트와 Tell Target] [2] 에듀멘 2006.02.28 6753