예제: 애니메이션 포트폴리오 작업(Flash Professional)

이 예제는 여러 ActionScript 조각을 결합하여 하나의 완전한 응용 프로그램을 만드는 방법을 처음으로 살펴보기 위한 것입니다. 애니메이션 포트폴리오 작업은 기존의 선형 애니메이션을 기반으로 적절한 약간의 대화형 요소를 추가할 수 있는 방법을 보여 주는 예제입니다. 예를 들어 특정 클라이언트용으로 만든 애니메이션을 온라인 포트폴리오에 통합할 수 있습니다. 애니메이션에 추가할 대화형 비헤이비어에는 보는 사람이 클릭할 수 있는 두 개의 버튼, 즉 애니메이션을 시작하는 버튼 및 별도의 URL(예: 포트폴리오 메뉴 또는 제작자의 홈 페이지)로 이동하는 버튼이 포함됩니다.

이 작업은 다음 주요 부분으로 나눌 수 있습니다.

  1. ActionScript 및 대화형 요소 추가를 위한 FLA 파일 준비

  2. 버튼 만들기 및 추가

  3. ActionScript 코드 작성

  4. 응용 프로그램 테스트

대화형 요소 추가 준비

대화형 요소를 애니메이션에 추가하기 전에 FLA 파일을 설정하여 새 내용을 추가할 위치를 만들어 놓는 것이 좋습니다. 이 작업에는 버튼을 배치할 수 있는 실제 공간을 스테이지에 만드는 것이 포함됩니다. 또한 서로 다른 항목을 별도로 유지할 수 있는 "공간"을 FLA 파일에 만드는 것도 포함됩니다.

대화형 요소를 추가하기 위해 FLA를 설정하려면

  1. 단일 모션 트윈 또는 모양 트윈 같은 단순한 애니메이션을 포함하는 FLA 파일을 만듭니다. 프로젝트에 표시할 애니메이션을 포함하는 FLA 파일이 이미 있으면 해당 파일을 열고 새 이름으로 파일을 저장합니다.

  2. 두 버튼이 화면에 표시되도록 할 위치를 결정합니다. 한 버튼은 애니메이션을 시작하는 버튼이고 다른 버튼은 제작자 포트폴리오 또는 홈 페이지에 연결하는 버튼입니다. 필요한 경우, 스테이지에서 공간을 없애거나 이 새 내용을 배치할 공간을 추가합니다. 애니메이션에 시작 화면이 없으면 첫 프레임에 시작 화면을 만들 수 있습니다. 이 경우 애니메이션을 이동하여 프레임 2 이후에서 애니메이션이 시작되도록 할 수도 있습니다.

  3. 타임라인에 있는 다른 레이어 위에 새 레이어를 추가한 다음 이름을 buttons로 지정합니다. 이 레이어에서 버튼을 추가하게 됩니다.

  4. 이 buttons 레이어 위에 새 레이어를 추가한 다음 이름을 actions로 지정합니다. 이 레이어에서 ActionScript 코드를 사용자 응용 프로그램에 추가하게 됩니다.

버튼 만들기 및 추가

다음에는 대화형 응용 프로그램의 중심이 될 버튼을 실제로 만들어 배치합니다.

버튼을 만들어 FLA에 추가하려면

  1. 드로잉 도구를 사용하여 buttons 레이어에 첫 번째 버튼("재생" 버튼) 모양을 만듭니다. 예를 들어 수평 타원형을 그려 그 위에 텍스트를 표시합니다.

  2. [선택 도구]를 사용하여 이 버튼의 그래픽 부분을 모두 선택합니다.

  3. 주 메뉴에서 [수정] > [심볼로 변환]을 선택합니다.

  4. 표시되는 대화 상자에서 심볼 유형으로 [버튼]을 선택하고 심볼의 이름을 지정한 후 [확인]을 클릭합니다.

  5. 이 버튼을 선택한 다음, 속성 관리자에서 버튼의 인스턴스 이름을 playButton으로 지정합니다.

  6. 1-5단계를 반복하여 제작자의 홈 페이지로 연결되는 버튼을 만들고, 이 버튼의 이름을 homeButton으로 지정합니다.

코드 작성

이 응용 프로그램의 ActionScript 코드는 모두 동일한 위치에 입력되지만, 세 개의 기능 집합으로 나눌 수 있습니다. 코드가 수행하는 작업은 다음 세 가지입니다.

  • SWF 파일 로드 즉시(재생 헤드가 프레임 1에 진입 시) 재생 헤드 중지

  • 사용자가 재생 버튼 클릭 시 이벤트를 수신하여 SWF 파일 재생 시작

  • 사용자가 제작자 홈 페이지 버튼 클릭 시 이벤트를 수신하여 브라우저를 해당 URL로 보냄

재생 헤드가 프레임 1에 진입 시 재생 헤드를 중지하도록 코드를 작성하려면

  1. actions 레이어의 프레임 1에서 키프레임을 선택합니다.

  2. [액션] 패널을 열려면 주 메뉴에서 [윈도우] > [액션]을 선택합니다.

  3. [스크립트] 창에 다음 코드를 입력합니다.

    stop();

재생 버튼 클릭 시 애니메이션이 시작되도록 코드를 작성하려면

  1. 앞 단계에서 입력한 코드 맨 끝에 빈 행을 두 개 삽입합니다.

  2. 스크립트 아래쪽에 다음 코드를 입력합니다.

    function startMovie(event:MouseEvent):void 
    { 
        this.play(); 
    }

    이 코드는 startMovie()라는 함수를 정의합니다. startMovie()가 호출되면 이 함수에 의해 기본 타임라인에서 재생이 시작됩니다.

  3. 앞 단계에서 추가된 코드 다음 행에 다음 코드 행을 입력합니다.

    playButton.addEventListener(MouseEvent.CLICK, startMovie);

    이 코드 행은 startMovie() 함수를 playButtonclick 이벤트에 대한 리스너로 등록합니다. 즉, playButton이라는 버튼이 클릭될 때마다 startMovie() 함수가 호출되도록 하는 것입니다.

홈 페이지 버튼 클릭 시 브라우저에서 해당 URL로 이동하도록 코드를 작성하려면

  1. 앞 단계에서 입력한 코드 맨 끝에 빈 행을 두 개 삽입합니다.

  2. 스크립트 아래쪽에 다음 코드를 입력합니다.

    function gotoAuthorPage(event:MouseEvent):void 
    { 
        var targetURL:URLRequest = new URLRequest("http://example.com/"); 
        navigateToURL(targetURL); 
    }

    이 코드는 gotoAuthorPage()라는 함수를 정의합니다. 이 함수는 먼저 http://example.com/ URL을 나타내는 URLRequest 인스턴스를 만듭니다. 그런 다음 해당 URL을 navigateToURL() 함수에 전달하여 사용자의 브라우저에서 이 URL이 열리도록 합니다.

  3. 앞 단계에서 추가된 코드 다음 행에 다음 코드 행을 입력합니다.

    homeButton.addEventListener(MouseEvent.CLICK, gotoAuthorPage);

    이 코드 행은 gotoAuthorPage() 함수를 homeButtonclick 이벤트에 대한 리스너로 등록합니다. 즉, homeButton이라는 버튼이 클릭될 때마다 gotoAuthorPage() 함수가 호출되도록 하는 것입니다.

응용 프로그램 테스트

이제 응용 프로그램이 완벽히 작동됩니다. 실제로 작동되는지 테스트해 보겠습니다.

응용 프로그램을 테스트하려면

  1. 주 메뉴에서 [컨트롤] > [동영상 테스트]를 선택합니다. Flash Professional에서는 SWF 파일을 생성하여 이 파일을 Flash Player 윈도우에서 엽니다.

  2. 두 버튼이 모두 의도한 대로 작동하는지 테스트합니다.

  3. 버튼이 작동하지 않는 경우 다음 사항을 확인합니다.

    • 두 버튼의 인스턴스 이름이 각각 다릅니까?

    • addEventListener() 메서드 호출 시 두 버튼의 인스턴스 이름과 동일한 이름을 사용합니까?

    • addEventListener() 메서드 호출 시 올바른 이벤트 이름이 사용되었습니까?

    • 각 함수에 대해 올바른 매개 변수가 지정되었습니까? 두 메서드 모두 MouseEvent 데이터 유형을 가진 단일 매개 변수가 지정되어야 합니다.

    이러한 모든 실수 및 가능한 대부분의 다른 실수로 인해 오류 메시지가 나타납니다. 오류 메시지는 [동영상 테스트] 명령을 선택하거나 프로젝트 테스트 중에 버튼을 클릭할 때 나타날 수 있습니다. [컴파일러 오류] 패널에서 [동영상 테스트]를 처음 선택할 때 발생하는 컴파일러 오류가 있는지 확인합니다. [출력] 패널에서 내용을 재생하는 동안(예: 버튼을 클릭하는 경우) 발생하는 런타임 오류가 있는지 확인합니다.