XML 및 fl.motion 패키지의 ActionScript 클래스를 사용하여 모션 트윈을 작성할 수 있습니다. Adobe Flash CS4의 "ActionScript로 모션 복사" 명령을 통해 타임라인에서 모션 트윈에 기반한 XML 및 ActionScript를 생성한 다음 다른 심볼이나 다른 프로젝트에 사용할 수 있습니다. 또한 모션 트윈을 직접 작성할 수도 있습니다. 컴파일 타임에 fl.motion 클래스가 클래스 경로에 있는 경우 지정된 표시 객체에 모션 트윈이 적용됩니다. motion 클래스에 대한 자세한 정보는 fl.motion 패키지를 참조하십시오. 지원하는 XML의 각 요소는 ActionScript 3.0 언어 참조 설명서의 클래스 및 속성에 해당합니다.
XML 요소의 계층 구조는 다음과 같습니다.
다음 표에는 모션 객체에 지정할 수 있는 XML 요소 및 특성이 간략히 요약되어 있습니다. 각 항목에 대한 세부 사항은 각 요소에 해당하는 클래스에 나열되어 있는 속성을 참조하십시오.
| 요소 | 특성 | 유형 | 설명 |
|---|---|---|---|
| Motion | Flash에서 모션 트윈을 특징 지우는 속성을 지정할 수 있도록 모션 인스턴스를 정의합니다. 자세한 내용은 fl.motion.Motion 클래스를 참조하십시오. | ||
| duration | Number | 선택한 모션 트윈의 프레임 수입니다. 자세한 내용은 fl.motion.MotionBase.duration 속성을 참조하십시오. | |
| source | Source 요소의 필수 부모 태그입니다. 이 태그에는 아무런 특성이 없지만 컴파일러에서 Source 요소와 이 요소의 특성을 처리할 때 필요한 태그입니다. | ||
| Source | 모션과 연결된 원래 시각적 객체의 속성을 포함합니다. 자세한 내용은 fl.motion.Source 클래스를 참조하십시오. | ||
| frameRate | Number | Flash CS4에서 복사한 원래 애니메이션이 포함된 SWF 파일에 대한 초당 프레임(fps) 설정입니다. 다른 SWF 파일에서 ActionScript를 구현하는 경우 이 값은 아무런 영향을 미치지 않습니다. 자세한 내용은 fl.motion.Source.frameRate 속성을 참조하십시오. | |
| x | Number | Flash CS4에서 복사한 모션 트윈이 시작될 때 표시되는 심볼 인스턴스 변형점의 x 좌표입니다. | |
| y | Number | Flash CS4에서 복사한 모션 트윈이 시작될 때 표시되는 심볼 인스턴스 변형점의 y 좌표입니다. | |
| scaleX | Number | 가로 크기 비율을 나타내는 소수 값입니다. 이 값은 보통 0과 1사이의 값이지만 1보다 크거나 0보다 작을 수도 있습니다. 예를 들어 scaleX를 -1로 설정하여 객체를 뒤집거나 3으로 설정하여 원래 크기의 3배로 만들 수 있습니다. | |
| scaleY | Number | 세로 크기 비율을 나타내는 소수 값입니다. 이 값은 보통 0과 1사이의 값이지만 1보다 크거나 0보다 작을 수도 있습니다. 예를 들어 scaleY를 -1로 설정하여 객체를 뒤집거나 3으로 설정하여 원래 크기의 3배로 만들 수 있습니다. | |
| skewX | Number | 수직 축에 따른 시어링 각도(도)입니다. skewX 및 skewY 값이 같은 경우 rotation 특성이 대신 사용됩니다. |
|
| skewY | Number | 수직 축에 따른 시어링 각도(도)입니다. skewX 및 skewY 값이 같은 경우 rotation 특성이 대신 사용됩니다. |
|
| rotation | Number | 최초 프레임의 회전 각도입니다. | |
| elementType | String | 모션 트윈에 사용되는 시각적 객체의 유형입니다. "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" 또는 "text" 등의 값을 사용할 수 있습니다. | |
| symbolName | String | Adobe Flash CS4 문서의 라이브러리에 심볼이 있는 경우 해당 심볼의 이름입니다. 원래의 시각적 객체가 심볼 인스턴스가 아닐 수도 있습니다. | |
| dimensions | 트위닝되는 심볼의 경계 상자와 변형점을 기술하는 geom 네임스페이스를 사용하는 태그를 포함합니다. |
||
| geom:Rectangle | flash.geom 패키지의 객체입니다. | flash.geom.Rectangle 객체의 속성에 대응하는 특성을 추가할 수 있습니다. 예를 들면 다음과 같습니다.
|
|
| geom:Point | flash.geom 패키지의 객체입니다. | 변형점의 좌표는 경계 상자 크기(geom:Rectangle 요소의 값)의 비율로 정의됩니다. 변형점이 경계 상자의 왼쪽 위 모서리에 있으면 해당 좌표는 (0, 0)입니다. 변형점이 경계 상자의 오른쪽 아래 모서리에 있으면 해당 좌표는 (1, 1)입니다. 이러한 값을 사용하면 비율 및 등록 포인트가 다른 객체에 변형점을 일정하게 적용할 수 있습니다. 변형점은 경계 상자 바깥에 있을 수도 있습니다. 이 경우 좌표가 0보다 작거나 1보다 클 수 있습니다. |
|
| Keyframe | 타임라인의 키프레임에 해당하는 정보가 포함됩니다. | ||
| blank | Boolean | 키프레임이 비어 있음을 나타냅니다. | |
| index | Number | 키프레임에 대한 고유한 정수 값입니다. 첫 번째 키프레임의 인덱스는 항상 0입니다. XML에서 키프레임은 인덱스 값의 오름차순으로 지정해야 합니다. | |
| label | String | 키프레임을 설명하는 문자열로서 타임라인의 프레임 레이블에 대응됩니다. | |
| tweenSync | Boolean | 동기화 설정이 켜지거나("true") 꺼지도록("false") 전환합니다. 동기화가 적용되면 트윈의 프레임 수를 다시 계산하여 타임라인에서 트윈에 할당된 프레임 수와 일치시킵니다. ActionScript에서 그래픽 심볼을 제어할 수 없으므로 이 특성은 ActionScript 애니메이션에 영향을 미치지 않습니다. 이 XML 특성은 Adobe Flash CS4의 [모션 복사] 및 [모션 붙여넣기] 명령에서만 사용됩니다. XML에서 이 특성을 생략하면 기본적으로 true로 설정됩니다. |
|
| tweenSnap | Boolean | 물리기 설정이 켜지거나("true") 꺼지도록("false") 전환합니다. 물리기가 적용되면 심볼의 등록 포인트가 모션 경로에 연결됩니다. ActionScript에서 그래픽 심볼을 제어할 수 없으므로 이 특성은 ActionScript 애니메이션에 영향을 미치지 않습니다. 이 XML 특성은 Adobe Flash CS4의 [모션 복사] 및 [모션 붙여넣기] 명령에서만 사용됩니다. XML에서 이 특성을 생략하면 기본적으로 true로 설정됩니다. |
|
| x | Number | 현재 프레임에서 심볼 인스턴스 중심점의 x 좌표입니다. | |
| y | Number | 현재 프레임에서 심볼 인스턴스 중심점의 y 좌표입니다. | |
| scaleX | Number | 0과 1사이의 소수 값으로 나타낸 가로 크기 비율입니다. 이 값은 보통 0과 1사이의 값이지만 1보다 크거나 0보다 작을 수도 있습니다. 예를 들어 scaleX를 -1로 설정하여 객체를 뒤집거나 3으로 설정하여 원래 크기의 3배로 만들 수 있습니다. | |
| scaleY | Number | 0과 1사이의 소수 값으로 나타낸 세로 크기 비율입니다. 이 값은 보통 0과 1사이의 값이지만 1보다 크거나 0보다 작을 수도 있습니다. 예를 들어 scaleY를 -1로 설정하여 객체를 뒤집거나 3으로 설정하여 원래 크기의 3배로 만들 수 있습니다. | |
| skewX | Number | 수직 축에 따른 시어링 각도(도)입니다. skewX 및 skewY 값이 같은 경우 rotation 특성이 대신 사용됩니다. |
|
| skewY | Number | 수직 축에 따른 시어링 각도(도)입니다. skewX 및 skewY 값이 같은 경우 rotation 특성이 대신 사용됩니다. |
|
| rotation | Number | 현재 프레임의 회전 각도입니다. | |
| rotateDirection | String | 트위닝된 요소의 회전 방법을 지정합니다. "auto", "none", "cw" 또는 "ccw"로 지정할 수 있습니다. XML에서 이 특성을 생략하면 기본적으로 "auto"로 지정됩니다. | |
| rotateTimes | Number | 일반적인 회전 외에 트위닝된 요소가 시작 키프레임과 다음 키프레임 사이에서 회전하는 횟수를 지정합니다. Adobe Flash CS4에서는 이 값이 0보다 크거나 같은 정수여야 하지만, motion 클래스에서는 소수 값도 사용할 수 있습니다. | |
| tweenScale | Boolean | false인 경우 트위닝 중에 크기를 변경할 수 없습니다. XML에서 이 특성을 생략하면 기본적으로 true로 설정됩니다. |
|
| cacheAsBitmap | Boolean | XML에서 이 특성을 생략하면 기본적으로 false로 설정됩니다. |
|
| blendMode | String | "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" 및 "erase" 등의 값을 사용할 수 있습니다. XML에서 이 특성을 생략하면 기본적으로 "normal"로 지정됩니다. | |
| orientToPath | Boolean | XML에서 이 특성을 생략하면 기본적으로 false로 설정됩니다. |
|
| Color | 색상 변화에 대한 설정이 포함됩니다. Flash 심볼 인스턴스에는 none, alpha, tint, brightness 및 advanced라는 5 가지의 색상 모드가 있습니다. 변형을 적용하지 않으려면 즉,
|
||
| brightness | Number | -1에서 1 사이의 값으로 지정하는 밝기 채널 적용율입니다. 여기서 -1은 완전한 검정색, 1은 완전한 흰색을 나타냅니다. | |
| tintColor | Hexidecimal | 적용할 색상을 나타내는 16진수 색상 값입니다. | |
| alphaMultiplier | Number | 0에서 1 사이의 소수 값으로 나타내는 알파 채널 적용률입니다. | |
| redMultiplier | Number | 0에서 1 사이의 소수 값으로 나타내는 색상 적용률입니다. | |
| greenMultiplier | Number | 0에서 1 사이의 소수 값으로 나타내는 색상 적용률입니다. | |
| blueMultiplier | Number | 0에서 1 사이의 소수 값으로 나타내는 색상 적용률입니다. | |
| alphaMultiplier | Number | 알파 투명도 채널 적용률을 나타내는 0에서 1 사이의 소수 값입니다. | |
| tintMultiplier | Number | tintColor 값 적용률을 나타내는 0에서 1 사이의 소수 값입니다. |
|
| redOffset | Number | redMultiplier 값에 곱한 후 빨강 채널 값에 더해지는 -255에서 255 사이의 숫자입니다. | |
| greenOffset | Number | greenMultiplier 값에 곱한 후 녹색 채널 값에 더해지는 -255에서 255 사이의 숫자입니다. | |
| blueOffset | Number | blueMultiplier 값에 곱한 후 파랑 채널 값에 더해지는 -255에서 255 사이의 숫자입니다. | |
| alphaOffset | Number | 알파 승수 값으로 곱해진 후 알파 채널 값에 더해지는 -255에서 255 사이의 숫자입니다. | |
| tweens | 여유 변화에 대한 설정이 포함됩니다. | ||
| SimpleEase | 모든 여유 속성에 대해 모션 트위닝 동안 단일 값이 유지되도록 여유 설정을 정의합니다. | ||
| ease | Number | 모션 트윈의 모든 속성에 적용할 여유 값입니다. ease 특성은 -1(100% 가속)에서 1(100% 감속) 사이의 비율입니다. 기본값은 0입니다. 즉, 트윈이 가속이나 감속 없이 일정한 속도로 애니메이트됩니다. | |
| target | Number | Flash CS4에서는 모든 여유 속성에 동일한 값이 적용되므로 Adobe Flash CS4의 [모션 복사] 및 [모션 붙여넣기] 명령을 사용하는 경우 제작 도구에서는 SimpleEase 요소에 target 특성이 포함되지 않은 XML을 생성합니다. 그러나 ActionScript 3.0에서는 개별적인 속성에 서로 다른 SimpleEase 값을 동시에 적용할 수 있습니다. target에 적용할 수 있는 값은 "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" 및 "skewY"로 CustomEase에 적용할 수 있는 값과 동일합니다. |
|
| CustomEase | 3차 베지어 곡선으로 구성된 사용자 정의 여유 곡선을 정의합니다. 동시에 모든 속성에 적용하거나 개별적인 속성에 대해 서로 다른 곡선을 정의할 수 있습니다. 사용자 정의 여유 속성을 나타내는 곡선에 대한 자세한 정보는 CustomEase 클래스를 참조하십시오. |
||
| target | Number | 사용자 정의 값이 지정되는 속성입니다. Adobe Flash CS4의 [모션 복사] 및 [모션 붙여넣기] 명령을 사용하는 경우 제작 도구에서는 target에 대해 "position", "scale", "rotation", "color" 또는 "filters"라는 값을 생성합니다. ActionScript 3.0의 motion 클래스를 사용하면 훨씬 더 융통성 있게 "x", "y", "scaleX", "scaleY", "skewX" 및 "skewY"에 대해 개별적인 곡선을 정의할 수 있습니다. XML에서 "target" 특성을 생략하면 모든 여유 속성이 대상이 됩니다.중요:XML에서는 사용자 정의 여유 곡선의 첫 번째 점과 마지막 점이 생략됩니다. 첫 번째 점은 항상 (0, 0)(트위닝되는 속성의 시작 값)이어야 하고 마지막 점은 (1, 1)(트위닝되는 속성의 끝 값)이어야 합니다. 코드의 효율성을 유지하고 오류를 막기 위해 XML에서 이러한 값을 생략하고 무조건 적용되도록 합니다. |
|
| BezierControl | 곡선을 기준으로 지정되는 점으로서 곡선을 정의하는 데 사용됩니다. | ||
| x | Number | 곡선을 정의하기 위한 점의 x 좌표입니다. | |
| y | Number | 곡선을 정의하기 위한 점의 y 좌표입니다. | |
| BezierNode | 곡선 위의 점으로서 곡선을 정의하는 데 사용됩니다. | ||
| x | Number | 곡선 위의 점의 x 좌표입니다. | |
| y | Number | 곡선 위의 점의 y 좌표입니다. | |
| filters | flash.filters 패키지의 객체에서 요소를 사용하도록 정의합니다(예: filters:GlowFilter). 지정된 flash.filters 객체의 속성에 대응하는 특성을 추가할 수 있습니다. 예를 들면 다음과 같습니다.
자세한 내용은 flash.filters 패키지를 참조하십시오. |
다음 예제에서는 ActionScript를 인라인 XML과 함께 사용하여 moveShape 무비 클립 인스턴스의 모션 트윈을 작성하는 방법을 보여 줍니다. 이 모션 트윈에서 myShape 심볼은 10 프레임 동안 회전하고 이동하며 사용자 정의 여유 설정을 사용하고 알파 값을 변경합니다.