교컴로고초기화면으로 header_kyocom
교컴메뉴
교컴소개 이용안내 소셜교컴 나눔마당 배움마당 자료마당 교과마당 초등마당 특수마당 글로벌교컴 온라인프로젝트학습 교컴 UCC
회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.
교컴 키우기 자발적 후원


:::: 교컴가족 로그인(0)

  • 주간 검색어
  • 현재 검색어
  1. 1 1
  2. 민주주의와 교육 1
  3. 윤리학과 교육
  4. 생활기록부 예시문
  5. 사유
  6. 쇼팽
  7. 과세특 59
  8. 읽기
  9. 도덕
  10. 중1 과세특
기간 : ~

교컴 포토갤러리

플래시수업

마스크와 물방울처리

8175 | 2004.01.30 18:30 | 조회 2662 | 공감 0 | 비공감 0
외국에서 퍼온 입니다.
마스크, 가이드라인, 프레임라벨이동, 액션, 랜덤함수처리, 무비복사 등 적어도
7가지를 이해하여야 나올수 있는 장면입니다.
초보자님들은 무조건 어렵다 하지 마시고 하나둘씩 무비를 복사해다 응용해보고
조금씩 고쳐 봄으로서 서서히 액션에 대한 두렴움을 없애고 자신감을 얻게 될 것입니다.
액션에 대해서는 기존 스크립언어라도 경험해 본 사람은 쉽게 접근할 수 있습니다만
언어에 대한 감각이 없는 분은 꾸준히 열러보고 고쳐봄으로써 자신도 모르게 액션을
터득하게 될 것입니다.
==========================================================
duplicateMovieClip

액션 중에서 많이 사용되고 있는 것 중의 하나가 바로 duplicateMovieClip 액션이다.
용량도 줄일 수 있을 뿐만 아니라 다양한 효과를 쉽게 만들 수 있기 때문이다.
이 기회에 잘 배워서 잘 응용하기 바란다.

duplicateMovieClip을 쓰려면 우선 Movie Clip이 하나 필요하다.
Flash를 열고 작은 네모를 그리고 Movie Clip으로 만든 후 Instance Name에 box라고 쓰자.

그리고 버튼을 하나 만든 후 그 버튼에 다음과 같은 코드를 입력한다.

on (release) {
duplicateMovieClip ("bol", "bol2", 1);
}

bol는 원래 Movie Clip의 Instance Name이고,
bol2는 duplicated될 새로운 Movie Clip의 Instance Name이다.
1은 duplicated된 Movie Clip이 위치할 level 값이다.


Ctrl Enter로 Publish하면 결과를 알 수 있다.
근데 버튼을 눌러도 아무 변화가 없다고 느끼는 사람도 있을지 모르겠다.
그것은 같은 위치에 복사되었기 때문에 변화가 없는 것처럼 보이는 것이다.
Movie Clip 'bol'의 alpha값은 30 % 정도로 하면 변화를 느낄 수 있을 것이다.


이제는 앞에서 배운 setProperty를 사용하여 원하는 위치에 복사를 시켜보자.

on (release) {
duplicateMovieClip("bol", "bol2", 1);
setProperty ("bol2", _x, "200");
}
위 코드대로 하면 bol는 x축으로 200 픽셀만큼 이동하여 복사가 된다.


자, 아래 Movie에서 버튼을 눌러보자.


누를 때마다 30 개의 bol들이 여기 저기 다른 형태로 나타나게 된다.
이것도 역시 그리 복잡하지는 않다.
일단 random( ); 액션을 알아야 하는데,
random은 말 그대로 random 다음에 나오는 숫자의 범위 안에서 임의로 출력을 하는 것이다.

그럼, Button에 입력된 코드를 직접 살펴보자.

on (release) {
count = 1;
while (count<31) {
duplicateMovieClip("bol","bol"+count, count);
setProperty ( "bol"+count,_x, random(400) );
setProperty ( "bol"+count,_y, random(100) );
setProperty ( "bol"+count,_xscale, random(150) );
setProperty ( "bol"+count,_yscale, random(150) );
setProperty ( "bol"+count,_alpha, random(100) );
count += 1;
}
}

코드를 살펴보면 count라는 변수가 1부터 30에 도달할 때까지 복사하라는 명령이다.
while(조건){ }은 반복할 때 사용하는 명령이다.
아래쪽에 있는 count += 1;은 변수 count를 1씩 증가시키라는 것이다.
결국 변수 count가 1부터 30에 도달할 때까지 { }안의 명령을 반복하라는 것이다.

duplicateMovieClip("bol","bol"+count, count);
이 명령은 "bol"라는 Instance Name을 가진 Movie Clip을 복사하라는 것인데,
괄호 안에 나온 것을 차례대로 보면
처음에 나온 "bol"는 복사할 Movie Clip의 Instance Name,
두 번째 나온 "bol"+count는 Movie Clip이 복사가 됐을 때
그 애에게도 붙을 Instance Name이다.
세 번째 나온 count는 새로 복사된 Movie Clip이 위치할 level 값이다.

근데 두 번째에서 +count는 뭘까?
처음에 변수로 count를 지정해 주었다.
물론 count라는 단어말고 특별히 좋아하는 단어가 있다면 그것을 써도 된다.
다음의 상자 안에 있는 내용을 잘 읽어보자.

☆ 여기서 잠깐만! - while( )과 변수

만일 Movie Clip을 한 번만 복사한다면 굳이 while( )과 변수를 쓸 필요가 없다.
그냥 duplicateMovieClip("bol","bol1",1 );
라고 쓰면 그만이다. 즉, Level 1에 bol를 복사해서 bol1이라는 이름의 Movie Clip을
만들라는 명령이다.
그럼 만약 5 개를 복사하게 되면 어떻게 될까?

duplicateMovieClip("bol","bol1",1 );
duplicateMovieClip("bol","bol2",2 );
duplicateMovieClip("bol","bol3",3 );
duplicateMovieClip("bol","bol4",4 );
duplicateMovieClip("bol","bol5",5 );

이렇게 써야 할 것이다. 왜 level을 다르게 하냐고 묻는다면...?
같은 level로 지정해 주면 그 level에 먼저 있었던 것들은 모두 사라지고
새로 지정해 준 것만 남게 되기 때문이다.

그럼 30 개를 복사해야 하는데 방금 한 것처럼 30 줄을 써야 할 필요가 없다.
그래서 위 예제와 같은 코드나 나온 것이다.
1부터 30까지 계속 1 씩 올라가야 하므로 변수 count가 필요하게 된 것이다.

그 밑에 있는 random이 포함된 명령은 복사되는 Movie Clip의 속성을 지정해 주는 것인데,
x좌표, y좌표, xscale, yscale, alpha 값을 주어진 숫자 안에서
임의로(random하게) 출력하라는 것이다.

이제는 버튼에 액션을 주지 말고 Layer에 액션을 입력해 보자.
버튼에서는 on(release){ }라는 코드가 들어가야 하지만 Layer에서는 필요가 없다.
따라서 위의 코드에서 on(release){ } 부분만 삭제하고 나머지를 frame에 입력하면 된다.

좋아요! 싫어요!
twitter facebook me2day
448개(11/23페이지) rss
플래시수업
번호 제목 글쓴이 조회 날짜
공지 [활용] 수업 활용 감동 플래시 150편 [37+1] 함영기 163170 2003.08.21 18:57
247 [플래시강좌] [mx2004]이젠 글자모션 신경끝! 첨부파일 8175 2734 2004.03.28 19:01
246 [플래시수업] [mx2004] ActionScript으로 풍차만들기 첨부파일 8175 2410 2004.03.28 09:42
245 [플래시수업] [mx2004] 진자운동 첨부파일 8175 2672 2004.03.28 09:32
244 [기타플래시] 렌즈 플레어 (flare 섬광) 효과 첨부파일 8175 2927 2004.03.24 23:22
243 [기타플래시] 물리에 쓰이는 분수 첨부파일 8175 2222 2004.03.21 17:55
242 [기타플래시] [유틸] 마음대로 그려보는 플래시 스케치북 첨부파일 [4] 함영기 5772 2004.03.04 08:18
241 답글 [기타플래시] RE:재미있는 플래시 스케치북 뜯어보자! 첨부파일 유춘모 1835 2004.10.01 21:58
240 [플래시강좌] 웹페이지 인쇄시 프린터 제어하기 8175 5929 2004.02.29 13:04
239 [기타플래시] 서영은 [졸업]과 우리반 아이들 첨부파일 허재영 3373 2004.02.28 21:02
238 [플래시강좌] 최고의 UI Components활용 플래시웹에디터 첨부파일 8175 2404 2004.02.24 13:55
237 답글 [플래시강좌] RE:최고의 UI Components활용 플래시웹에디터 조종미 1883 2004.08.24 11:44
236 [기타플래시] 지구 주위를 회전하는 광고(eduict.org)글자 첨부파일 8175 2500 2004.02.22 21:52
235 [기타플래시] 플래시 노래(강아지똥)입니다. 첨부파일 박병건 4254 2004.02.22 10:48
234 [플래시수업] 움직이는 사람 모형 첨부파일 8175 3619 2004.02.21 20:38
233 [기타플래시] jpg이미지를 불러오는 초간단 그림책 만들기 첨부파일 8175 2706 2004.02.15 14:28
232 [플래시강좌] [강좌]플래시로 cd앨범 만들기 및 방법[2/21수정] 사진 첨부파일 8175 3419 2004.02.13 20:25
231 [플래시강좌] 초간단 슬라이드식 JPG 이미지뷰어 첨부파일 8175 2987 2004.02.05 23:52
230 [플래시유틸] 플래시효과음모음-1 8175 5754 2004.01.30 21:51
>> [기타플래시] 마스크와 물방울처리 첨부파일 8175 2663 2004.01.30 18:30
228 [플래시강좌] [부탁] 샘들 플래시방 많은 참여를 8175 1965 2004.01.29 10:49