메뉴 건너뛰기

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 48031
111 플래시를 시작하기 위한 준비 [1] Fc 2005.05.06 7495
110 [플래시 MX 동영상 강좌] 7. 트위닝 옵션 [10] 서기 2005.05.26 7483
109 [플래시 MX 동영상 강좌] 14.기본적인 베너 제작하기 [13] 서기 2005.06.02 7478
108 [플래시 MX 동영상 강좌] 32. IF문의 심화 [2] 서기 2005.08.03 7448
107 Flash MX의 Action Script에서 이벤트 제어를 메소드로 하기.. [4] file coens 2002.03.23 7417
106 정말급한데요. 플래시 쇼핑몰 제품 스크롤에 대해 [3] file 홍성필 2006.06.05 7222
105 플래시와 제로보드 연동 기초 (외부 TXT 파일 호출 하여 뿌려주기) [6] 홈때기~♪ 2005.05.20 7191
104 플래시를 이용한 원그래프 그리기입니다. [2] file 삐리리 2005.07.04 7170
103 [플래시 MX 동영상 강좌] 30. onClipEvent를 이용한 무비클립의 회전 [8] 서기 2005.07.08 6947
102 다양한 색상으로 입체효과주기(그라디언트) [1] 펀에듀넷 2006.04.24 6900
101 [ 플래시 2004 프로페셔널 ] AS2.0의 기초 [1] Fc 2004.02.25 6846
100 스위시맥스7강[스프라이트와 Tell Target] [2] 에듀멘 2006.02.28 6753
99 스위시강좌 // 글보고 감추기 [1] 문학의향기 2006.08.11 6746
98 [플래시 MX 동영상 강좌] 5-1. 레이어를 이용한 에니메이션 보강 [8] 서기 2005.05.24 6579
97 [플래시 MX 동영상 강좌] 26. 아날로그 시계를 제작해보자. [10] 서기 2005.06.24 6578
96 스위시맥스8강[퀴즈만들기] [2] 에듀멘 2006.02.28 6554
95 [플래시 MX 동영상 강좌] 27. 엽서를 만들어보자. [8] 서기 2005.06.28 6528
94 스위시맥스강좌 // Replay 버튼 만들기 [1] 문학의향기 2006.08.11 6528
93 [ Flash MX ] 플래쉬 무비 안에서 커서 바꾸기 [5] file 김지성 2002.08.31 6432
92 아래 두개올린것을 믹스한겁니다~ㅎ [2] file 한태종 2007.02.14 6281