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"]);