ActionScript®로 런타임에 타임라인을 제어할 수 있습니다. ActionScript를 사용하여 FLA 파일에 타임라인만으로는 불가능한 상호 작용 및 기타 기능을 만들 수 있습니다.

ActionScript®로 런타임에 타임라인을 제어할 수 있습니다. ActionScript를 사용하여 FLA 파일에 타임라인만으로는 불가능한 상호 작용 및 기타 기능을 만들 수 있습니다.

ActionScript를 사용한 타임라인 제어에 대한 자세한 내용은 웹 도움말의 타임라인 및 ActionScript 설명을 참조하십시오.

절대 경로

절대 경로는 문서가 로드된 레벨의 이름으로 시작하며 그 뒤에 대상 인스턴스에 도달할 때까지의 표시 목록 경로가 표시됩니다. _root 별칭을 사용하여 현재 레벨의 최상위 타임라인을 나타낼 수도 있습니다. 예를 들어, oregon 동영상 클립을 참조하는 california 동영상 클립의 액션은 절대 경로 _root.westCoast.oregon을 사용할 수 있습니다.

Flash Player에서 가장 먼저 여는 문서는 레벨 0에 로드됩니다. 추가로 로드되는 각 문서에 레벨 번호를 지정해야 합니다. ActionScript에서 절대 참조를 사용하여 로드된 문서를 참조하는 경우에는 _levelX 형식을 사용하십시오. 여기서 X는 문서가 로드되는 레벨의 번호입니다. 예를 들어, Flash Player에서 가장 먼저 여는 문서를 _level0이라고 하고, 레벨 3에 로드되는 문서를 _level3이라고 합니다.

서로 다른 레벨에 있는 문서 간에 통신하려면 대상 경로에 레벨 이름을 사용해야 합니다. 다음 예제는 portland 인스턴스가 georgia라는 동영상 클립에 위치한 atlanta 인스턴스의 위치를 나타내는 방법을 보여 줍니다. georgiaoregon과 레벨이 같습니다.

_level5.georgia.atlanta

_root 별칭을 사용하여 현재 레벨의 기본 타임라인을 나타낼 수 있습니다. 기본 타임라인의 경우 _root 별칭은 _level0에도 있는 동영상 클립의 대상으로 지정될 때 _level0을 나타냅니다. _level5에 로드된 문서의 경우 _root는 레벨 5에도 있는 동영상 클립의 대상으로 지정될 때 _level5와 같습니다. 예를 들어, 동영상 클립 southcarolinaflorida가 모두 같은 레벨에 로드되는 경우 인스턴스 southcarolina에서 호출된 액션은 다음 절대 경로를 사용하여 인스턴스 florida를 대상으로 할 수 있습니다.

_root.eastCoast.florida

상대 경로

상대 경로는 제어 타임라인과 대상 타임라인 사이의 관계에 따라 달라집니다. 상대 경로는 Flash Player의 같은 레벨 내에서만 대상을 나타낼 수 있습니다. 예를 들어, _level5의 타임라인을 대상으로 하는 _level0의 액션에서는 상대 경로를 사용할 수 없습니다.

상대 경로에서는 키워드 this를 사용하여 현재 레벨의 현재 타임라인을 나타내고 _parent 별칭을 사용하여 현재 타임라인의 부모 타임라인을 나타냅니다. _parent 별칭을 반복적으로 사용하여 Flash Player의 같은 레벨에 있는 동영상 클립 계층 구조에서 한 레벨 위로 올라갈 수 있습니다. 예를 들어, _parent._parent는 계층 구조에서 두 레벨 위에 있는 동영상 클립을 제어합니다. Flash Player의 레벨에서 최상위 타임라인은 _parent 값이 정의되지 않은 유일한 타임라인입니다.

southcarolina보다 한 레벨 아래에 있는 charleston 인스턴스의 타임라인에서 액션은 다음 대상 경로를 사용하여 southcarolina 인스턴스를 나타낼 수 있습니다.

_parent

charleston에 있는 액션에서 인스턴스 eastCoast(한 레벨 위)를 나타내려면 다음 상대 경로를 사용하면 됩니다.

_parent._parent

charleston의 타임라인에 있는 액션에서 인스턴스 atlanta를 나타내려면 다음 상대 경로를 사용하면 됩니다.

_parent._parent.georgia.atlanta

상대 경로는 스크립트를 다시 사용할 때 유용합니다. 예를 들어, 다음과 같이 부모를 150% 확대하는 스크립트를 동영상 클립에 추가할 수 있습니다.

onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

이 스크립트를 원하는 동영상 클립 인스턴스에 추가하여 다시 사용할 수 있습니다.

참고:

Flash Lite 1.0 및 1.1에서는 버튼에만 스크립트를 추가할 수 있습니다. 동영상 클립에는 스크립트를 추가할 수 없습니다.

절대 경로나 상대 경로 중 어느 것을 사용하든 도트(.)와 변수 또는 속성의 이름을 사용하여 타임라인의 변수 또는 객체의 속성을 식별합니다. 예를 들어, 다음 명령문은 form 인스턴스의 name 변수를 "Gilbert"라는 값으로 설정합니다.

_root.form.name = "Gilbert";

절대 및 상대 대상 경로 사용

ActionScript를 사용하여 한 타임라인에서 다른 타임라인으로 메시지를 보낼 수 있습니다. 이때 액션이 포함된 타임라인을 제어 타임라인이라고 하고 액션을 받는 타임라인을 대상 타임라인이라고 합니다. 예를 들어, 한 타임라인의 마지막 프레임에 있는 액션을 통해 다른 타임라인을 재생할 수 있습니다. 대상 타임라인을 참조하려면 표시 목록에서 동영상 클립의 위치를 나타내는 대상 경로를 사용해야 합니다.

다음 예제는 레벨 0에 있는 westCoast라는 문서의 계층 구조를 보여 줍니다. 이 계층 구조에는 california, oregonwashington이라는 세 가지 동영상 클립이 포함되어 있습니다. 이들 동영상 클립 각각에는 동영상 클립이 두 개씩 들어 있습니다.

_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

웹 서버에서와 마찬가지로 Animate의 각 타임라인은 절대 경로나 상대 경로를 사용하여 위치를 나타낼 수 있습니다. 인스턴스의 절대 경로는 액션을 호출하는 타임라인에 관계없이 항상 레벨 이름에서 시작되는 전체 경로입니다. 예를 들어, 인스턴스 california의 절대 경로는 _level0.westCoast.california입니다. 상대 경로는 호출 위치에 따라 달라집니다. 예를 들어, sanfrancisco에서 호출한 california의 상대 경로는 _parent이지만 portland에서 호출할 경우에는 _parent._parent.california입니다.

대상 경로 지정

동영상 클립, 로드된 SWF 파일 또는 버튼을 제어하려면 대상 경로를 지정해야 합니다. 경로는 수동으로 지정하거나, [대상 경로 삽입] 대화 상자를 사용하여 지정하거나, 대상 경로로 평가되는 표현식을 만들어 지정할 수 있습니다. 동영상 클립이나 버튼의 대상 경로를 지정하려면 동영상 클립이나 버튼의 인스턴스 이름을 지정해야 합니다. 로드된 문서의 경우 레벨 번호가 인스턴스 이름으로 사용(예: _level5)되므로 인스턴스 이름이 필요하지 않습니다.

동영상 클립 또는 버튼에 인스턴스 이름 지정

  1. 스테이지에서 동영상 클립이나 버튼을 선택합니다.
  2. 속성 관리자에서 인스턴스 이름을 입력합니다.

대상 경로 삽입 대화 상자를 사용하여 대상 경로 지정

  1. 액션을 지정할 동영상 클립, 프레임 또는 버튼 인스턴스를 선택합니다.

    이 인스턴스가 제어 타임라인이 됩니다.

  2. [액션] 패널([윈도우] > [액션])의 왼쪽에 있는 [액션] 도구 상자에서 대상 경로가 필요한 액션이나 메서드를 선택합니다.
  3. 대상 경로를 삽입할 스크립트의 위치나 매개 변수 상자를 클릭합니다.
  4. [스크립트] 윈도우 위의 [대상 경로 삽입] 버튼 을 클릭합니다.
  5. 대상 경로 모드로 [절대적] 또는 [상대적]을 선택합니다.
  6. [대상 경로 삽입] 표시 목록에서 동영상 클립을 선택하고 [확인]을 클릭합니다.

수동으로 대상 경로 지정

  1. 액션을 지정할 동영상 클립, 프레임 또는 버튼 인스턴스를 선택합니다.

    이 인스턴스가 제어 타임라인이 됩니다.

  2. [액션] 패널([윈도우] > [액션])의 왼쪽에 있는 [액션] 도구 상자에서 대상 경로가 필요한 액션이나 메서드를 선택합니다.
  3. 대상 경로를 삽입할 스크립트의 위치나 매개 변수 상자를 클릭합니다.
  4. [액션] 패널에 절대 또는 상대 대상 경로를 입력합니다.

표현식을 대상 경로로 사용

  1. 액션을 지정할 동영상 클립, 프레임 또는 버튼 인스턴스를 선택합니다.

    이 인스턴스가 제어 타임라인이 됩니다.

  2. [액션] 패널([윈도우] > [액션])의 왼쪽에 있는 [액션] 도구 상자에서 대상 경로가 필요한 액션이나 메서드를 선택합니다.
  3. 다음 중 하나를 수행합니다.
    • 대상 경로로 계산되는 표현식을 매개 변수 상자에 입력합니다.

    • 스크립트에서 삽입점을 클릭합니다. 그런 다음 [액션] 도구 상자의 [함수] 범주에서 targetPath 함수를 두 번 클릭합니다. targetPath 함수는 동영상 클립에 대한 참조를 문자열로 변환합니다.

    • 스크립트에서 삽입점을 클릭합니다. 그런 다음 [액션] 도구 상자의 [함수] 범주에서 eval 함수를 선택합니다. eval 함수는 문자열을 play 같은 메서드를 호출하는 데 사용할 수 있는 동영상 클립 참조로 변환합니다.

      다음 스크립트는 값 1을 i 변수에 지정합니다. 그런 다음 eval 함수를 사용하여 동영상 클립 인스턴스에 대한 참조를 만들어서 x 변수에 지정합니다. 변수 x는 이제 동영상 클립 인스턴스에 대한 참조가 되며 MovieClip 객체 메서드를 호출할 수 있습니다.

      i = 1; x = eval("mc"+i); x.play(); // this is equivalent to mc1.play();

      다음과 같이 eval 함수를 사용하여 메서드를 직접 호출할 수도 있습니다.

      eval("mc" + i).play();

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책