회원가입아이디/비번찾기
실시간 TV
홈으로
xml문서를 플래시로 불러오기
12년 전
<XML 을 이용한 플래시 액션 스크립트 마스터>
외부에서 XML 문서를 플래시로 불러오기
Chapter. 9
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 2/2
- 8 시차 교육에서는 플래시 내부에서 XML 문서를 적성 하였습니다. 실재로 XML 데이터를 이용하여
플래시에 적용하려면 내부 보다는 외부에서 작성된 XML 데이터를 불러와서 작업을 할 경우가 많이
발생 합니다. 이번 교육 시간에는 외부에서 XML 파일을 불러와서 작업하는 방법을 알아보도록
하겠습니다.
1. 이벤트(Event)
- 이벤트는 플래시에서 액션을 구현하게 하는 근본적인 원인을 제공하는 것으로 플래시 무비 재생 시
발생하는 모든 사건을 즉, 프레임 재생순서, 버튼 반응, 키보드 선택 등에 의해 발생되는 모든 동작을
말 합니다. 다시 말해 플래시에서 내부적으로 코드를 실행시키는 것이 바로 이벤트입니다.
- 플래시에서는 이벤트가 크게 3 가지로 나누어 볼 수 있습니다. 타임라인의 프레임이 진행되면서
발생하는 프레임 이벤트, 버튼 인스턴스를 마우스로 선택하면서 발생하는 버튼 이벤트, 무비클럽
인스턴스를 통해서 발생하는 무비 이벤트가 있습니다.
※ 인스턴스( Instance ) : 일반적으로 어떤 집합에 대해서, 그 집합의 개별적인 요소. 객체 지향
프로그래밍(OOP)에서, 어떤 등급에 속하는 각 객체를 인스턴스라고 한다.
① 프레임 이벤트(Frame Event)
플레이 헤드가 프레임에 진입했을 때 발생하는 것으로 매 프레임 마다 발생 합니다.
② 버튼 이벤트(Button Event)
버튼 클럽에서 버튼에 대한 액션이 발생할 때 수행되는 이벤트로 8 가지 이벤트 종류가 있습니다.
③ 무비클럽 이벤트(MoveClip Event)
무비 클럽에서 무비클럽에 대한 어떤 액션이 발생할 때 수행되는 이벤트로 9 가지 이벤트가 있습니다.
Chapter 9. 외부에서 XML 문서를 플래시로 불러오기
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 3/3
2. 이벤트 핸들러(Event Handler)
- 프레임, 버튼, 무비클럽 이벤트가 발생할 때 마다 이를 제어하는 액션스크립트를 이벤트 핸들러라
합니다. 따라서 이벤트 핸들러 역시 3 가지가 있습니다.
- 버튼 이벤트 핸들러는 "on" 이벤트를 사용하고, 무비클럽 이벤트 핸들러는 "onClipEvnet" 이벤트를
사용합니다. 그리고 프레임 이벤트는 하나만 존재하기 때문에 핸들러거 필요가 없습니다. 플래시
MX 에서는 위에 정의 한 이벤트 말고도 특수한 객체에 이벤트 핸들러 를 지원합니다. 특수한 객체는
Loadvars, XML, XMLSocket 등을 말 합니다.
- 이러한 특수한 객체에는 "onLoad"속성이 공통적으로 존재함으로 이벤트 핸들러에 사용 할 수가
있습니다. 그리고 특수한 객체를 핸들러로 지정된 함수를 콜백 함수라고 합니다.
Tip LoadVars(객체)와 XMLSocket(객체)
① LoadVars(객체)
플래시 무비와 서버 사이에서 변수를 전송하는데 loadVariables 액션을 대신하여 사용할 수
있습니다. 그리고 XML 객체와 유사한 기능을 수행합니다. loadVars 객 체와 XML 객체의 차이점은
loadVars 가 액션스크립트 이름과 값을 쌍으로 전송하 는 반면 XML 객체 경우에는 XML DOM
트리를 저장한다는 점입니다. 또한 loadVars 객체의 인스텐스를 만들기 위해서는 해당 메서드를
호출하기 전에 new loadVars() 생성자를 사용해야 합니다.
② XMLSocket(객체)
XMLSocket 객체는 Flash Player 를 실행 중인 컴퓨터가 IP 주소 또는 도메인 이름으로 식별되는
서버 컴퓨터와 통신할 수 있게 해주는 클라이언트 소켓을 구현합니다. XMLSocket 객체는 실시간
채팅 시스템 같이 낮은 대기 시간을 요구하는 클라이언트-서버 응용 프로그램에 유용합니다.
- XMLSocket(객체)의 사용 방법은 아래와 같습니다.
[객체]
myXML = new XMLSocket();
[메서드]
myXML.close : 열러 있는 소켓 연결을 닫습니다.
myXML.connect : 지정된 서버에 연결 합니다.
myXML.send : XML 객체를 서버로 보냅니다.
[이벤트 핸들러]
myXML.onClose : XMLSocket 연결이 닫힐 때 호출되는 콜백 함수입니다.
myXML.onconnect : XMLSocket 이 연결될 때 호출되는 콜백 함수입니다.
myXML.onData : XML 메시지가 서버에서 다운로드 되었을 때 호출되는 콜백 함수입니다.
myXML.onXML : XML 객체가 서버로부터 도착할 때 호출되는 콜백 함수입니다.
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 4/4
- 아래의 그림은 플래시 무비가 재생하면서 액션스크립트가 작동하는 전체적인 구조를 보여주고 있는
모습입니다. 플래시 무비가 재생하면서 프레임 진행과 사용자 버튼, 키보드 선택 등의 행동이 발생하고
이러한 행동과 진행에 다른 3 가지 이벤트가 발생 합니다. 발생한 이벤트에 대한 제어 내용을 가지고
있는 핸들러에는 제어하기 위한 구체적인 방법을 제공하기 위한 액션스크립트가 있어 이벤트 상황에
맞는 액션을 실행 합니다.
- 버튼 이벤트 핸들러 : 버튼 심벌에는 다음과 같은 이벤트 핸들러를 지원합니다.
① on(press) 버튼은 마우스로 클릭할 때
② on(release) 버튼을 마우스로 클릭하고 뗄 때
③ on(releaseOutside) 버튼을 마우스로 클릭하고 바깥쪽에서 뗄 때
④ on(rollOver) 버튼 위로 마우스로 커서를 올려놓을 때
⑤ on(rollOut) 버튼 위에 올려있던 마우스 커서를 밖으로 벗어날 때
⑥ on(dragOver) 버튼을 클릭하여 바깥쪽으로 드래그 했다가 다시 버튼의 안쪽으로 드래그 할 때
⑦ on(dragOut) 버튼을 클릭하여 바깥쪽으로 드래그 할 때
⑧ on(keyPress) 키보드의 특정한 키를 눌렀을 때
- 무비 이벤트 핸들러 : 무비클럽 심벌에는 버튼 심벌에 지원되는 모든 이벤트 핸들러와 함께 다음의
이벤트 핸들러를 추가로 지원합니다.
① onLoad : 스테이지에 처음 나타난 경우
② onUnLoad : 스테이지에서 사라진 경우
③ onEnterFrame : 스테이지에 존재하는 동안 계속해서 이벤트를 발생시키는 경우
④ onMouseDown : 마우스를 클릭한 경우
⑤ onMouseUp : 마우스를 뗀 경우
⑥ onMouseMove : 마우스를 움직일 때
⑦ onData : ASP, PHP 와 같은 외부에 존재하는 데이터를 플래시 내부로 불러들여 전송이 끝난 경우
3. 외부에서 XML 문서를 플래시로 불러오기를 알아보도록 하겠습니다.
- 먼저 실습에 필요한 XML.load() 메서드와 XML.onLoad 이벤트 핸들러에 대하여 알아야 합니다.
▶ XML.load() 메서드 : XML 문서를 불러와서 XML 계층구조로 변환하는 메서드이다.
⇒ 사용형식 : XML.load("불러올 XML 문서")
▶ XML.onLoad() 이벤트 핸들러 : XML 문서가 모두 외부에서 받아지고 난 후 자동으로 지정된
함수(콜백)를 호출 하는 이벤트 핸들러이다.
⇒ 사용형식 : XML.onLoad = 함수명;
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 5/5
[실습 예제 1] 외부에서 저장된 XML 파일을 불러와 아래와 같은 결과 나오도록 문서를 작성해 보도록
하겠습니다.
① 아래의 XML 문서를 아래와 같이 EDIT 에서 작성 한 후 C 장치 아래에 "work"폴더에 "학생.xml"로
저장 합니다.
※ TIP 입력소스 1
<?xml versoin ="1.0" ?>
<학생>
<이름>홍길동</이름>
<학번>20081213</학번>
<Tel>02-1234-3456</Tel>
<주소>서울</주소>
</학생
② 아래의 화면과 같이 "1 번 프레임"을 클릭하고 F9 버튼을 눌려서 [액션 스크립트]작업창 상태로 이동
한 다음 [액션]메뉴를 클릭한 다음 화면에 출력하기 위해 [브라우저/네트워크]메뉴를 선택한 후 아래에
있는 소스를 입력 합니다.
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 6/6
※ TIP 입력소스 2
1. System.useCodepage=true
2. myXml = new XML();
3. myXML.onLoad = loadEND;
4. myXML.load("학생.xml")
5.
6. function loadEnd()
7. {
8. //trace(mtXML)과 같음
9. trace(this)
10. }
③ 소스 설명
• 1 번 라인 : System.useCodepage=true
→ 한글이 나타나지 않거나 깨어지는 것을 방지하기 위하여 정의한 것입니다. 그리고 위의 코드는
ANSI(미국표준협회)코드 형식으로 저장 한다는 뜻입니다.
• 2 번 라인 : myXML = new XML();
→ myXML 에 사용할 객체 "XML()"를 생성 한 것입니다. 이렇게 되면 myXML 는 XML 클래스에 정의
한 속성을 사용 할 수 있습니다.
• 3 번 라인 : myXML.onLoad = loadEND;
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 7/7
→ "학생.xml" 파일이 모두 로딩이 되면 loadEND 함수를 실행 합니다.
• 4 번 라인 : myXML.load("학생.xml")
→ "학생.xml" 파일을 읽고 XML 겍체 계층으로 변환 합니다.
• 6 번 라인 : function loadEnd()
→ 3 번 라인의 onLoad 에 의하여 이벤트 핸들러가 지정한 콜백 함수입니다.
"학생.xml" 파일이 모두 로딩이 되면 자동으로 loadEND 함수를 실행 합니다.
• 9 번 라인 : trace(this)
→ "this"란 myXML 객체를 말 합니다.
④ 플래시에 입력한 문서를 C 장치 아래에 "work"폴더에 "외부호출.fla"로 저장 합니다.
⑤ 입력된 XML 문서를 플래시에서 실행 해 봅니다. 플래시 무비 테스트는 키보드에 있는 ctrl 키를
누른 상태에서 enter 키를 누르면 아래와 같이 화면에 출력 됩니다.
[실습 예제 2] 외부에서 저장된 XML 파일을 불러와 아래와 같은 결과 나오도록 문서를 작성해 보세요.
조건 1) XML 문서를 아래와 같이 EDIT 에서 작성 한 후 C 장치 아래에 "work" 폴더에 "제품.xml"로 저장
합니다.
※ TIP 입력소스 1
XML 을 이용한 플래시 액션 스크립트 마스터
Copyright ⓒ 2009 All rights reserved 8/8
<?xml versoin ="1.0" ?>
<제품>
<분류>C001</분류>
<품명>아반테</품명>
<가격>1000 만원</가격>
</학생>
조건 2) 플레시 문서 파일은 C 장치 아래에 "work"폴더에 "제품.fla"로 저장 합니다.

추천추천 : 549 추천 목록
번호 제목
1,346
 윈도우 서버 2019 취약점 점검 보안
1,345
 윈도우 서버 2019 취약점 점검 보안 (windows server 2019)
1,344
 Windows 취약점진단 보안가이드라인
1,343
 Windows Admin Center를 통한 서버 관리
1,342
 윈도우 서버에서 실행되는 서비스 확인
1,341
 Chrome NET::ERR CERT REVOKED 해결방법
1,340
 cmd 명령어 (명령 프롬프트 명령어) 모음
1,339
 Windows10 특정 프로그램(OCS 2007 R2)에서 첨부파일 드래그앤드롭이 안 되는 현상
1,338
 윈도우 로그, 관리 이벤트 삭제
1,337
 클린 부팅
1,336
 Windows 구성 요소 저장소에서 파일 손상 검사
1,335
 Windows Defender 검사 기록 삭제하기
1,334
 간단한 윈도우 10 정품 인증 (크랙프로그램 필요없음)
1,333
 오류난 폴더 강제삭제 방법
1,332
 크롬에서 플래시 항상 허용하도록 설정하기 (레지스트리) reg 파일 만들기
1,331
 GPT 디스크를 MBR 디스크로 변환
1,330
 MBR 디스크를 GPT 디스크로 변환
1,329
 구글 검색을 200% 활용하게 해주는 검색 명령어 총정리
1,328
 [Jquery] jQuery로 우클릭 방지, 드래그 방지, 선택 방지 (IE10, 파이어폭스, 크롬 확인)
1,327
 php 사용자 접속IP, 브라우저정보, os정보, http, https 접속프로토콜 알아오기
1,326
 [PHP] IE 브라우저 접속 검출하기
1,325
 윈도우10 시스템 예약 파티션 확인 및 삭제
1,324
 윈도우10 복구 파티션 삭제 방법
1,323
 윈도우10 부팅지연 검은화면에서 몇분간 머무는 현상 해결방법
1,322
 삼성노트북 바이오스 진입이 불가능한 경우 바이오스 재설치와 NVRAM 초기화
1,321
 익스플로러(IE)의 구글 검색공급자 한글로 변경 방법
1,320
 윈도우 10 기본 앱 삭제 및 복구
1,319
 meta 태그 http-equiv 설정방법과 차이점
1,318
 구글(Google)검색에서 고급연산자를 이용하여 많은 정보를 얻는 방법
1,317
 프로그램 없이 하드디스크 복사 및 백업하기
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright ⓒ musictrot All rights reserved.