as3에서 무비클립을 복제하는 방법은 이전 버전과 다릅니다.
먼저 라이브러리에 등록된 무비클립을 복제해보죠. 라이브러리에 등록된 무비클립('하트')의 속성창을 열면, 링크항목이 있습니다. 이 링크항목에서 'AcitonScript에 내보내기'를 클릭하면 ' 아래 그림 붉은 사각형 안처럼 바뀔 것입니다. 클래스란에 '하트'가 자동 입력되어 있는 것을 볼 수 있습니다.
메인화면에서 F9를 눌러 액션스크립트 입력창을 열고 그런 후 다음 코드를 넣습니다. 스테이지에 '하트복제버튼'을 하나 만들어야겠죠.
3번 라인이 라이브러리에 등록된 무비클립을 복제하는 코드입니다. 이 코드는 '하트복제버튼'을 누르면 스테이지에 '하트' 무비를 5개 복제해서 표시하게 합니다. 4,5번 라인은 복제된 무비의 x,y 좌표값을 임의로 정하기 위한 것이고 6번라인의 addChild()메서드는 복제된 무비를 스테이지에 표시하라는 것입니다.
이제 복제된 하트 무비를 클릭하면 스테이지에서 제거되도록 해보겠습니다.
8번라인과 같이 무비가 복제될 때마다 복제되는 무비(이벤트대상임)에 이벤트리스너를 추가해 줍니다. 14~17번 라인과 같이 이벤트핸들러를 적습니다. 15번라인처럼 복제된 무비를 제거할 때는 removeChild() 메서드를 사용합니다.
removeChild()메서드의 매개변수는 DisplayObject 인스턴스, 즉 복제된 무비클립입니다. 여기서 evt는 이벤트객체로 evt.currentTarget이 의미하는 바는 이벤트객체의 현재 대상 즉 이벤트대상 복제된무비클립을 말합니다.
현재까지 작업파일
무비클립_복제_MovieClip_Duplicate.fla
지금까지는 복제된 무비클립을 클릭하면 각각 제거되는 경우인데, 한꺼번에 제거하기 위해서는 배열을 사용하는 것입니다. 복제된 무비클립을 배열에 담은 후 한꺼번에 제거하는 것입니다.
다음 그림에서 붉은색사각형 부분이 새롭게 추가된 부분입니다.
2번라인에서 복제되는 무비를 담아놓을 배열을 선언했습니다. 11번라인에서 무비가 복제될 때마다 배열에 담고 있습니다. 25번 라인 이후는 스테이지에 있는 '하트제거버튼' 관련 입니다. 30번라인에서 배열에 담긴 복제된무비를 제거하는 것입니다.
무비클립 복제 및 제거 MovieClip Duplicate remove.fla