애니메이션 설명

Flash Player 9 이상, Adobe AIR 1.0 이상, Flash CS3 이상 필요

MotionBase 클래스의 addPropertyArray() 메서드는 값 배열을 추가하여 트위닝된 모든 속성을 설명합니다.

이 배열에는 모션 트윈의 모든 키프레임에 대한 배열 항목이 들어 있을 수 있습니다. 이러한 배열 중 일부에는 모션 트윈의 총 키프레임 수보다 적은 항목이 들어 있는 경우도 있습니다. 이와 같은 경우는 나머지 프레임에 대해 배열의 마지막 값이 변경되지 않을 때 발생합니다.

배열 인수의 길이가 Motion 객체의 duration 속성보다 긴 경우 addPropertyArray() 는 그에 따라 duration 속성의 값을 조정합니다. 그러나 이전에 추가된 속성에 대해서는 키프레임을 추가하지 않습니다. 새로 추가된 키프레임은 애니메이션의 추가 프레임에서 유지됩니다.

Motion 객체의 x y 속성은 애니메이션이 실행될 때 트위닝된 객체의 변경 위치를 나타냅니다. 이러한 좌표는 표시 객체의 위치가 변경될 때 모든 키프레임에서 변경될 가능성이 가장 큰 값입니다. addPropertyArray() 메서드를 사용하여 다른 모션 속성을 추가할 수 있습니다. 예를 들어 트위닝된 객체의 크기가 조절된 경우 scaleX scaleY 값을 추가합니다. 트위닝된 객체가 기울어진 경우에는 skewX skewY 값을 추가하고, 회전된 경우에는 rotationConcat 속성을 추가합니다.

addPropertyArray() 메서드를 사용하여 다음과 같은 트윈 속성을 정의합니다.

x

부모의 좌표 영역에서 객체의 변형점에 대한 가로 위치입니다.

y

부모의 좌표 영역에서 객체의 변형점에 대한 세로 위치입니다.

z

부모의 좌표 영역에서 객체의 변형점에 대한 깊이(z축) 위치입니다.

scaleX

변형점에서 적용된 객체의 수평 비율(백분율)입니다.

scaleY

변형점에서 적용된 객체의 수직 비율(백분율)입니다.

skewX

변형점에서 적용된 객체의 수평으로 기울이기 각도(도)입니다.

skewY

변형점에서 적용된 객체의 수직으로 기울이기 각도(도)입니다.

rotationX

객체의 원래 방향에서 x축을 기준으로 한 회전입니다.

rotationY

객체의 원래 방향에서 y축을 기준으로 한 회전입니다.

rotationConcat

변형점에서 이전에 적용했던 방향을 기준으로 z축을 따라 모션의 객체를 회전하는 값입니다.

useRotationConcat

이 속성을 설정한 경우 addPropertyArray() 에서 모션 데이터를 제공하면 대상 객체가 회전합니다.

blendMode

객체의 색상과 그 아래의 그래픽을 혼합하는 방법을 지정하는 BlendMode 클래스 값입니다.

matrix3D

키프레임에 대해 존재하는 경우 matrix3D 속성으로서, 3D 트윈에 사용되며, 이 속성이 사용된 경우 이전의 모든 변형 속성은 무시됩니다.

rotationZ

객체가 3D 부모 컨테이너를 기준으로 원래 방향으로부터 z축 회전한 각도로서, rotationConcat 대신 3D 트윈에 사용됩니다.

자동으로 생성된 스크립트에 추가되는 속성은 Flash에서 모션 트윈에 할당된 속성에 따라 달라집니다. 사용자 고유의 스크립트 버전을 사용자 정의할 경우 이러한 속성 중 일부를 추가, 제거 또는 수정할 수 있습니다.

다음 코드에서는 __motion_Wheel 이라는 모션 트윈의 속성에 값을 지정합니다. 이 경우 트위닝된 표시 객체는 위치가 변경되는 것이 아니라 모션 트윈의 29개 프레임 전체에서 적절하게 회전합니다. rotationConcat 배열에 지정된 여러 값은 회전을 정의합니다. 이 모션 트윈의 다른 속성 값은 변경되지 않습니다.

__motion_Wheel = new Motion(); 
__motion_Wheel.duration = 29; 
__motion_Wheel.addPropertyArray("x", [0]); 
__motion_Wheel.addPropertyArray("y", [0]); 
__motion_Wheel.addPropertyArray("scaleX", [1.00]); 
__motion_Wheel.addPropertyArray("scaleY", [1.00]); 
__motion_Wheel.addPropertyArray("skewX", [0]); 
__motion_Wheel.addPropertyArray("skewY", [0]); 
__motion_Wheel.addPropertyArray("rotationConcat", 
    [ 
        0,-13.2143,-26.4285,-39.6428,-52.8571,-66.0714,-79.2857,-92.4999,-105.714, 
        -118.929,-132.143,-145.357,-158.571,-171.786,-185,-198.214,-211.429,-224.643, 
        -237.857,-251.071,-264.286,-277.5,-290.714,-303.929,-317.143,-330.357, 
        -343.571,-356.786,-370 
    ] 
); 
__motion_Wheel.addPropertyArray("blendMode", ["normal"]); 

다음 예제에서는 Leaf_1 이라는 표시 객체가 스테이지에서 이동합니다. x y 속성 배열에는 애니메이션의 100개 프레임 각각에 대한 서로 다른 값이 들어 있습니다. 또한 객체는 스테이지에서 이동할 때 z 축을 기준으로 회전합니다. rotationZ 속성 배열의 여러 항목이 이 회전을 결정합니다.

__motion_Leaf_1 = new MotionBase(); 
__motion_Leaf_1.duration = 100; 
__motion_Symbol1_4.addPropertyArray("y", 
    [     
        0,5.91999,11.84,17.76,23.68,29.6,35.52,41.44,47.36,53.28,59.2,65.12,71.04, 
        76.96,82.88,88.8,94.72,100.64,106.56,112.48,118.4,124.32,130.24,136.16,142.08, 
        148,150.455,152.909,155.364,157.818,160.273,162.727,165.182,167.636,170.091, 
        172.545,175,177.455,179.909,182.364,184.818,187.273,189.727,192.182,194.636, 
        197.091,199.545,202,207.433,212.865,218.298,223.73,229.163,234.596,240.028, 
        245.461,250.893,256.326,261.759,267.191,272.624,278.057,283.489, 
        288.922,294.354,299.787,305.22,310.652,316.085,321.517,326.95,330.475,334, 
        337.525,341.05,344.575,348.1,351.625,355.15,358.675,362.2,365.725,369.25, 
        372.775,376.3,379.825,383.35,386.875,390.4,393.925,397.45,400.975,404.5, 
        407.5,410.5,413.5,416.5,419.5,422.5,425.5 
    ] 
); 
__motion_Symbol1_4.addPropertyArray("scaleX", [1.00]); 
__motion_Symbol1_4.addPropertyArray("scaleY", [1.00]); 
__motion_Symbol1_4.addPropertyArray("skewX", [0]); 
__motion_Symbol1_4.addPropertyArray("skewY", [0]); 
__motion_Symbol1_4.addPropertyArray("z", 
    [ 
        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
    ] 
); 
__motion_Symbol1_4.addPropertyArray("rotationX", [64.0361]); 
__motion_Symbol1_4.addPropertyArray("rotationY", [41.9578]); 
__motion_Symbol1_4.addPropertyArray("rotationZ", 
    [ 
        -18.0336,-17.5536,-17.0736,-16.5936,-16.1136,-15.6336,-15.1536,-14.6736, 
        -14.1936,-13.7136,-13.2336,-12.7536,-12.2736,-11.7936,-11.3136,-10.8336, 
        -10.3536,-9.8736,-9.3936,-8.9136,-8.4336,-7.9536,-7.4736,-6.9936,-6.5136, 
        -6.0336,-7.21542,-8.39723,-9.57905,-10.7609,-11.9427,-13.1245,-14.3063, 
        -15.4881,-16.67,-17.8518,-19.0336,-20.2154,-21.3972,-22.5791,-23.7609, 
        -24.9427,-26.1245,-27.3063,-28.4881,-29.67,-30.8518,-32.0336,-31.0771, 
        -30.1206,-29.164,-28.2075,-27.251,-26.2945,-25.338,-24.3814,-23.4249, 
        -22.4684,-21.5119,-20.5553,-19.5988,-18.6423,-17.6858,-16.7293,-15.7727 
        -14.8162,-13.8597,-12.9032,-11.9466,-10.9901,-10.0336,-10.9427,-11.8518, 
        -12.7609,-13.67,-14.5791,-15.4881,-16.3972,-17.3063,-18.2154,-19.1245, 
        -20.0336,-20.9427,-21.8518,-22.7609,-23.67,-24.5791,-25.4881,-26.3972, 
        -27.3063,-28.2154,-29.1245,-30.0336,-28.3193,-26.605,-24.8907,-23.1765, 
        -21.4622,-19.7479,-18.0336 
    ] 
); 
__motion_Symbol1_4.addPropertyArray("blendMode", ["normal"]);