외부 API 사용의 기초
Flash Player 9 이상, Adobe AIR 1.0 이상
경우에 따라 자체적으로 SWF 파일을 실행(예: Adobe® Flash® Professional을 사용하여 SWF 프로젝터를 만든 경우)할 수도 있지만, 대부분의 경우 SWF 응용 프로그램은 다른 응용 프로그램 내부의 요소로 실행됩니다. SWF를 포함하는 컨테이너는 대개 HTML 파일입니다. 그러나 데스크톱 응용 프로그램의 사용자 인터페이스 전체 또는 일부에 SWF 파일을 사용하기도 합니다.
고급 기능을 갖춘 응용 프로그램을 사용하다 보면 SWF 파일과 컨테이너 응용 프로그램 간의 통신 설정이 필요할 수 있습니다. 예를 들어 웹 페이지에서는 텍스트 또는 기타 정보를 HTML로 표시하고 SWF 파일을 포함시켜 차트나 비디오 등의 동적인 시각적 정보를 표시할 수 있습니다. 이 경우 사용자가 웹 페이지의 버튼을 클릭할 때 SWF 파일의 내용이 변경되도록 할 수 있습니다. ActionScript에는 SWF 파일의 ActionScript와 컨테이너 응용 프로그램의 기타 코드 사이에 이러한 통신을 가능하게 하는 외부 API라는 메커니즘이 포함되어 있습니다.
중요한 개념 및 용어
이 기능과 관련된 중요한 용어가 아래 참조 목록에 정리되어 있습니다.
- ActiveX 컨테이너
- 응용 프로그램 내에 SWF 내용을 표시해 주는 Flash Player ActiveX 컨트롤의 인스턴스가 포함된 컨테이너 응용 프로그램입니다(웹 브라우저 아님).
- 컨테이너 응용 프로그램
- Flash Player가 SWF 파일을 실행하는 응용 프로그램으로, Flash Player 내용이 포함된 웹 브라우저 및 HTML 페이지 등이 있습니다.
- 프로젝터
- SWF 내용과 Flash Player가 포함된 실행 파일입니다. 프로젝터 파일은 Flash Professional이나 독립 실행형 Flash Player를 사용하여 만들 수 있습니다. 프로젝터는 CD-ROM을 통해 SWF 파일을 배포하거나, 다운로드 크기가 문제되지 않고 SWF 제작자가 Flash Player의 설치 여부와 관계없이 사용자가 SWF 파일을 실행할 수 있도록 하려는 유사 환경에서 SWF 파일을 배포하는 데 일반적으로 사용됩니다.
- 프록시
- 특정 응용 프로그램("외부 응용 프로그램")에서 다른 응용 프로그램("호출 응용 프로그램") 대신 코드를 호출하여 호출 응용 프로그램으로 값을 반환하는 중개 응용 프로그램 또는 코드입니다. 프록시는 다음과 같은 여러 가지 용도에 사용될 수 있습니다.
- 직렬화
- 인터넷 환경이나 단일 컴퓨터에서 실행되는 서로 다른 두 응용 프로그램과 같은 두 프로그래밍 시스템 간 메시지를 통한 값 전달에 사용할 수 있는 형식으로 객체 또는 데이터 값을 변환하는 작업입니다.
예제를 사용하여 작업
제공된 코드 예제 중 상당수는 전체 작업 예제 또는 값 확인용 코드가 아니라 데모용 소형 코드 목록입니다. 외부 API를 사용하려면 컨테이너 응용 프로그램 코드와 함께 ActionScript 코드를 작성해야 하므로, 컨테이너(예: SWF 파일이 포함된 웹 페이지)를 만들고 코드 목록을 사용하여 해당 컨테이너와 상호 작용하는 과정이 예제 테스트에 포함됩니다.
ActionScript와 JavaScript 간의 통신 예제를 테스트하려면
Flash Professional을 사용하여 새 문서를 만들고 컴퓨터에 저장합니다.
주 메뉴에서 [파일] > [제작 설정]을 선택합니다.
[제작 설정] 대화 상자의 [포맷] 탭에서 HTML 및 Flash 체크 상자가 선택되어 있는지 확인합니다.
[제작] 버튼을 클릭합니다. 이렇게 하면 문서 저장 시 사용한 것과 같은 이름의 SWF 파일과 HTML 파일이 같은 폴더에 생성됩니다. [확인]을 클릭하여 [제작 설정] 대화 상자를 닫습니다.
HTML 체크 상자의 선택을 취소합니다. 이제 HTML 페이지가 생성되었으므로 이를 수정하여 원하는 JavaScript 코드를 추가할 수 있습니다. HTML 체크 상자의 선택을 취소하면 HTML 페이지를 수정하더라도 Flash에서 SWF 파일을 제작할 때 새 HTML 문서로 사용자의 변경 사항을 덮어쓰는 일이 없습니다.
[확인]을 클릭하여 [제작 설정] 대화 상자를 닫습니다.
HTML 또는 텍스트 편집기 응용 프로그램을 사용하여 SWF 파일 제작 시 Flash에서 만든 HTML 파일을 엽니다. HTML 소스 코드에서 열기 및 닫기 script 태그를 추가한 다음 예제 코드 샘플의 JavaScript 코드를 해당 태그에 복사합니다.
<script>
// add the sample JavaScript code here
</script>
HTML 파일을 저장하고 Flash로 돌아갑니다.
타임라인의 프레임 1에서 키프레임을 선택하고 [액션] 패널을 엽니다.
[스크립트] 창에 ActionScript 코드 샘플을 복사합니다.
주 메뉴에서 [파일] > [제작]을 선택하여 SWF 파일에 변경 사항을 업데이트합니다.
웹 브라우저에서 편집한 HTML 페이지를 열어 확인한 후 ActionScript와 HTML 간의 통신을 테스트합니다.
ActionScript와 ActiveX 컨테이너 간의 통신 예제를 테스트하려면
Flash Professional을 사용하여 새 문서를 만들고 컴퓨터에 저장합니다. 해당 문서를 컨테이너 응용 프로그램의 SWF 파일 폴더에 저장하려면
주 메뉴에서 [파일] > [제작 설정]을 선택합니다.
[제작 설정] 대화 상자의 [포맷] 탭에서 Flash 체크 상자만 선택되어 있는지 확인합니다.
Flash 체크 상자 옆에 있는 [파일] 필드에서 폴더 아이콘을 클릭하여 SWF 파일을 제작할 폴더를 선택합니다. SWF 파일 위치를 설정하여 문서를 한 폴더에 저장할 수도 있지만, 제작된 SWF 파일은 컨테이너 응용 프로그램의 소스 코드가 들어 있는 폴더 등 다른 폴더에 저장하는 것이 좋습니다.
타임라인의 프레임 1에서 키프레임을 선택하고 [액션] 패널을 엽니다.
예제의 ActionScript 코드를 [스크립트] 창으로 복사합니다.
주 메뉴에서 [파일] > [제작]을 선택하여 SWF 파일을 다시 제작합니다.
컨테이너 응용 프로그램을 만들고 실행하여 ActionScript와 컨테이너 응용 프로그램 간의 통신을 테스트합니다.
외부 API를 사용하여 HTML 페이지 및 C# 데스크톱 응용 프로그램과 통신하는 전체 예제를 보려면 다음 항목을 참조하십시오.
이러한 예제에는 ActionScript 및 컨테이너 오류 검사 코드를 비롯한 전체 코드가 포함되어 있으며, 외부 API로 코드를 작성할 때 이 코드를 사용해야 합니다. 외부 API를 사용하는 기타 전체 예제는 ActionScript 3.0 참조 설명서에서 ExternalInterface 클래스에 대한 클래스 예제를 참조하십시오.