ActionScript로 응용 프로그램 만들기

ActionScript를 작성하여 응용 프로그램을 만들려면 사용할 클래스 이름과 구문을 아는 것만으로는 부족합니다. 대부분의 Flash 플랫폼 설명서에서는 구문 및 ActionScript 클래스 사용이라는 두 항목을 다루고 있습니다. 그러나 ActionScript 응용 프로그램을 작성하려면 다음과 같은 정보도 필요합니다.

  • ActionScript 작성에 사용 가능한 프로그램

  • ActionScript 코드를 구성하는 방법

  • 응용 프로그램에 ActionScript 코드를 포함하는 방법

  • ActionScript 응용 프로그램을 개발하기 위해 따라야 하는 단계

코드 구성에 대한 옵션

ActionScript 3.0 코드를 사용하여 단순한 그래픽 애니메이션에서 복잡한 클라이언트 서버 트랜잭션 처리 시스템까지의 모든 영역에서 프로그램을 개발할 수 있습니다. 만드는 응용 프로그램의 유형에 따라 프로젝트에 ActionScript를 포함하는 여러 방법 중 하나 이상을 사용합니다.

Flash Professional 타임라인의 프레임에 코드 저장

Flash Professional에서 타임라인의 모든 프레임에 ActionScript 코드를 추가할 수 있습니다. 이 코드는 동영상을 재생하는 동안 재생 헤드가 해당 프레임에 진입할 때 실행됩니다.

프레임에 ActionScript 코드를 추가하면 Flash Professional에서 만들어진 응용 프로그램에 비헤이비어를 간단하게 추가할 수 있습니다. 기본 타임라인의 모든 프레임에 코드를 추가하거나 모든 MovieClip 심볼에 대한 타임라인의 모든 프레임에 코드를 추가할 수 있습니다. 그러나 이와 같은 유연한 코딩은 이후 관리가 쉽지 않습니다. 대규모 응용 프로그램을 만드는 경우 어떤 프레임에 어떤 스크립트가 포함되어 있는지 잊기 쉽습니다. 이러한 복잡한 구조로 인해 시간이 지날수록 응용 프로그램을 유지 관리하는 것이 보다 어려워질 수 있습니다.

많은 개발자들은 타임라인의 첫 번째 프레임 또는 Flash 문서의 특정 레이어에만 코드를 추가하여 Flash Professional에서 ActionScript 코드 구성을 단순화합니다. 코드를 분리하면 Flash FLA 파일에서 코드를 찾고 유지는 작업이 보다 쉬워집니다. 그러나 동일한 코드를 다른 Flash Professional 프로젝트에서 사용하려면 해당 코드를 복사하여 새 파일에 붙여 넣어야 하는 단점이 있습니다.

나중에 ActionScript 코드를 다른 Flash Professional 프로젝트에서 쉽게 사용할 수 있도록 하려면 코드를 외부 ActionScript 파일(확장자가 .as인 텍스트 파일)에 저장합니다.

Flex MXML 파일에 코드 포함

Flash Builder 등의 Flex 개발 환경에서는 ActionScript 코드를 Flex MXML 파일의 <fx:Script> 태그 안에 포함할 수 있습니다. 그러나 이 방법을 사용하면 대형 프로젝트의 복잡성이 더욱 증가되고 다른 Flex 프로젝트에서 동일한 코드를 사용하는 것 또한 더 어려워집니다. 따라서 나중에 ActionScript 코드를 다른 Flex 프로젝트에서 쉽게 사용할 수 있도록 하려면 코드를 외부 ActionScript 파일에 저장하는 것이 좋습니다.

참고: <fx:Script> 태그에 대해 source 매개 변수를 지정할 수 있습니다. source 매개 변수를 사용하면 ActionScript 코드를 <fx:Script> 태그 내에 직접 입력된 것처럼 외부 파일에서 "가져올 수 있습니다". 그러나 사용하는 소스 파일에서 고유한 클래스를 정의할 수 없으므로 활용도는 제한됩니다.

ActionScript 파일에 코드 저장

프로젝트에 중요한 ActionScript 코드가 포함되는 경우 코드를 구성하는 가장 좋은 방법은 별도의 ActionScript 소스 파일(확장명이 .as인 텍스트 파일)에 코드를 구성하는 것입니다. 응용 프로그램에서 파일을 사용할 용도에 따라 둘 중 한 가지 방법으로 ActionScript 파일을 구성할 수 있습니다.

  • 구조화되지 않은 ActionScript 코드: 타임라인 스크립트 또는 MXML 파일에 직접 입력된 것처럼 작성된 ActionScript 코드 행(명령문 또는 함수 정의 포함)입니다.

    ActionScript의 include 문 또는 Flex MXML의 <fx:Script> 태그를 사용하면 이러한 방식으로 작성된 ActionScript에 액세스할 수 있습니다. ActionScript include 문은 스크립트에서 특정 위치 및 지정된 범위 내에 외부 ActionScript 파일의 내용을 포함하도록 컴파일러에게 지시합니다. 그 결과는 코드를 직접 입력한 것과 동일합니다. MXML 언어에서는 source 특성이 있는 <fx:Script> 태그를 사용하여 컴파일러가 응용 프로그램의 해당 위치에 로드할 외부 ActionScript를 식별합니다. 예를 들어 다음 태그는 Box.as라는 외부 ActionScript 파일을 로드합니다.

    <fx:Script source="Box.as" />
  • ActionScript 클래스 정의: 클래스의 메서드 및 속성 정의를 포함하는 ActionScript 클래스의 정의입니다.

    클래스를 정의하면 해당 클래스의 인스턴스를 만들고 해당 속성, 메서드 및 이벤트를 사용하여 클래스의 ActionScript 코드에 액세스할 수 있습니다. 직접 정의한 클래스는 내장 ActionScript 클래스와 동일하게 사용할 수 있으며 다음 두 가지 요건을 갖추어야 합니다.

    • ActionScript 컴파일러에서 해당 이름을 찾을 수 있도록 import 문을 사용하여 클래스의 전체 이름을 지정합니다. 예를 들어 ActionScript에서 MovieClip 클래스를 사용하려면 패키지 및 클래스를 포함하는 전체 이름을 사용하여 클래스를 가져옵니다.

      import flash.display.MovieClip;

      또는 MovieClip 클래스가 포함된 패키지를 가져올 수 있습니다. 이는 패키지의 각 클래스에 대해 별도의 import 문을 작성하는 것과 동일합니다.

      import flash.display.*;

      코드에서 클래스를 사용하려면 해당 클래스를 가져와야 한다는 이 규칙은 최상위 클래스에는 적용되지 않습니다. 이러한 클래스는 패키지 내에 정의되지 않습니다.

    • 클래스 이름을 명확히 사용하는 코드를 작성합니다. 예를 들어 해당 클래스를 데이터 유형으로 하는 변수를 선언하고 해당 변수에 저장할 이 클래스의 인스턴스를 만듭니다. ActionScript 코드에서 클래스를 사용하여 컴파일러에서 해당 클래스 정의를 로드하도록 지시합니다. 예를 들어 Box라는 외부 클래스가 있을 경우 다음 명령문은 Box 클래스의 인스턴스를 만듭니다.

      var smallBox:Box = new Box(10,20);

      컴파일러는 Box 클래스에 대한 참조를 처음 발견하면 Box 클래스 정의를 로드하기 위해 사용 가능한 소스 코드를 검색합니다.

올바른 도구 선택

여러 도구 중 하나 또는 여러 도구를 함께 사용하여 ActionScript 코드를 작성 및 편집할 수 있습니다.

Flash Builder

Adobe Flash Builder는 Flex 프레임워크에 기반하는 프로젝트 또는 ActionScript 코드로만 구성되는 프로젝트를 만드는 데 사용되는 고급 도구입니다. Flash Builder에는 시각적 레이아웃 및 MXML 편집 기능 외에 완벽한 ActionScript 편집기가 포함되어 있으므로 Flex 또는 ActionScript 전용 프로젝트를 만드는 데 사용할 수 있습니다. Flex는 원격 데이터를 사용하여 작업하고 외부 데이터를 사용자 인터페이스 요소에 연결할 수 있는 내장 메커니즘, 유연한 동적 레이아웃 제어 및 미리 만든 사용자 인터페이스 제어 등의 여러 가지 이점이 있습니다. 그러나 이러한 기능을 제공하려면 코드를 추가해야 하기 때문에 Flex를 사용하는 프로젝트에서 SWF 파일의 크기가 Flex를 사용하지 않는 경우에 비해 커질 수 있습니다.

따라서 Flash Builder는 Flex를 사용하여 모든 기능이 제공되는 데이터 기반의 RIA(Rich Internet Application)를 만들거나 단일 도구 내에서 ActionScript 코드와 MXML 코드를 편집하고 응용 프로그램을 시각적으로 배치하려는 경우 사용하는 것이 좋습니다.

ActionScript를 많이 사용하는 프로젝트를 작성하는 대부분의 Flash Professional 사용자는 Flash Professional을 사용하여 시각적 에셋을 만들고 Flash Builder를 ActionScript 코드 편집기로 사용합니다.

Flash Professional

Flash Professional에는 그래픽과 애니메이션을 만드는 기능 외에도 ActionScript 코드로 작업할 수 있는 여러 도구가 포함되어 있습니다. 코드는 FLA 파일 또는 외부 ActionScript 전용 파일의 요소에 연결될 수 있습니다. Flash Professional은 중요한 애니메이션 또는 비디오를 포함하는 프로젝트에 적합하고, 대부분의 그래픽 에셋을 직접 만들려는 경우에 유용합니다. 동일한 응용 프로그램에서 시각적 에셋을 만들고 코드를 작성할 수 있다는 장점도 ActionScript 프로젝트 개발에 Flash Professional을 사용하는 이유 중 하나입니다. Flash Professional에는 미리 만든 사용자 인터페이스 구성 요소도 포함되어 있습니다. 이러한 구성 요소를 사용하여 SWF 파일의 크기를 줄이고 시각적 도구로 프로젝트에 맞게 구성 요소를 스키닝할 수도 있습니다.

Flash Professional에는 다음과 같이 ActionScript 코드 작성을 위한 두 가지 도구가 포함되어 있습니다.

  • [액션] 패널: FLA 파일에서 작업할 때 사용할 수 있으며 이 패널을 사용하면 타임라인의 프레임에 첨부된 ActionScript 코드를 작성할 수 있습니다.

  • [스크립트] 윈도우: [스크립트] 윈도우는 ActionScript(.as) 코드 파일을 사용하여 작업하는 전용 텍스트 편집기입니다.

타사 ActionScript 편집기

ActionScript(.as) 파일은 간단한 텍스트 파일로 저장되기 때문에 ActionScript 파일을 작성하는 데 일반 텍스트 파일을 편집할 수 있는 모든 프로그램을 사용할 수 있습니다. Adobe ActionScript 제품 외에도 ActionScript 전용 기능이 포함된 여러 타사 텍스트 편집 프로그램이 있습니다. 모든 텍스트 편집기 프로그램을 사용하여 MXML 파일 또는 ActionScript 클래스를 작성할 수 있습니다. 그런 다음 Flex SDK를 사용하여 해당 파일을 토대로 응용 프로그램을 만들 수 있습니다. 프로젝트는 Flex를 사용하는 응용 프로그램이거나 ActionScript 전용 응용 프로그램일 수 있습니다. 일부 개발자는 Flash Builder 또는 타사 ActionScript 편집기를 사용하여 ActionScript 클래스를 작성하고 이와 함께 Flash Professional을 사용하여 그래픽 내용을 만드는 방법을 선택하기도 합니다.

타사 ActionScript 편집기를 선택하는 이유는 다음과 같습니다.

  • 별도 프로그램에서 ActionScript 코드를 작성하고 시각적 요소는 Flash Professional에서 디자인하는 것을 선호하는 경우

  • 다른 프로그래밍 언어로 응용 프로그램을 작성하거나 HTML 페이지를 만드는 것과 같이 비ActionScript 프로그래밍을 위한 응용 프로그램을 사용하고 있으며 ActionScript 코딩에도 동일한 응용 프로그램을 사용하려는 경우

  • Flash Professional 또는 Flex Builder 대신 Flex SDK를 사용하여 ActionScript 전용 또는 Flex 프로젝트를 만들려는 경우

ActionScript 전용 기능을 지원하는 주요 코드 편집기를 몇 가지 소개하면 다음과 같습니다.

ActionScript 개발 프로세스

ActionScript 프로젝트의 규모에 관계없이 응용 프로그램 설계 및 개발 프로세스를 사용하면 보다 효율적이고 효과적으로 작업을 수행할 수 있습니다. 다음 단계는 ActionScript 3.0을 사용하는 응용 프로그램을 만들기 위한 기본 개발 프로세스를 설명합니다.

  1. 응용 프로그램을 설계합니다.

    응용 프로그램을 만들기 전에 특정 방식으로 해당 응용 프로그램을 기술합니다.

  2. ActionScript 3.0 코드를 구성합니다.

    Flash Professional, Flash Builder, Dreamweaver 또는 텍스트 편집기를 사용하여 ActionScript 코드를 만들 수 있습니다.

  3. 코드를 실행할 Flash 또는 Flex 프로젝트를 만듭니다.

    Flash Professional에서는 FLA 파일을 만들고, 제작 설정을 지정하고, 사용자 인터페이스 구성 요소를 응용 프로그램에 추가하며, ActionScript 코드를 참조합니다. Flex에서는 응용 프로그램을 정의하고, MXML을 사용하여 사용자 인터페이스 구성 요소를 추가하고, ActionScript 코드를 참조합니다.

  4. ActionScript 응용 프로그램을 제작하고 테스트합니다.

    응용 프로그램 테스트 과정에는 해당 개발 환경에서 응용 프로그램을 실행하는 작업이 포함되며 응용 프로그램이 의도한 대로 작동하는지 확인해야 합니다.

이러한 단계를 순서대로 수행하지 않아도 되며 다른 작업을 수행하기 전에 수행 중이던 단계를 끝내야 할 필요는 없습니다. 예를 들어 1단계에서 응용 프로그램의 화면을 설계한 다음 3단계에서 그래픽, 버튼 등을 만들 수 있습니다. 그런 다음 2단계에서 ActionScript 코드를 작성하고 4단계에서 테스트합니다. 또는 응용 프로그램의 일부를 설계한 다음 버튼 또는 인터페이스 요소를 한 번에 하나씩 추가하고 각 요소에 대한 ActionScript를 작성하여 만든 응용 프로그램을 테스트할 수 있습니다. 개발 프로세스의 네 단계에 따라 개발 작업을 진행하는 것이 좋습니다. 그러나 실제 개발 환경에서는 앞 단계 또는 뒤 단계로 적절하게 이동하여 작업하는 것이 보다 효과적입니다.