Метод
addPropertyArray()
класса MotionBase добавляет массив значений для описания каждого анимируемого свойства.
Потенциально массив может содержать один элемент для каждого ключевого кадра анимации движения. Часто число элементов в некоторых из таких массивов меньше общего количества ключевых кадров в анимации движения. Такое происходит, когда последнее значение массива не изменяется для оставшихся кадров.
Если длина аргумента массива больше свойства
duration
объекта Motion, метод
addPropertyArray()
соответствующим образом корректирует значение свойства
duration
. Он не прибавляет ключевых кадров для свойств, добавленных ранее. Вновь добавленные ключевые кадры сохраняются для дополнительных кадров анимации.
Свойства
x
и
y
объекта Motion описывают изменяющееся положение объекта в процессе выполнения анимации. При изменении позиции экранного объекта эти координаты меняются практически в каждом ключевом кадре. С помощью метода
addPropertyArray()
можно добавить дополнительные свойства движения. Например, добавьте значения
scaleX
и
scaleY
, если изменяется размер анимируемого объекта. Добавьте значения
scewX
и
skewY
, если объект наклоняется. Добавьте свойство
rotationConcat
, если объект поворачивается.
Используйте метод
addPropertyArray()
для определения следующих свойств анимации:
x
|
позиция по вертикали точки преобразования объекта в координатной системе его родителя
|
y
|
позиция по горизонтали точки преобразования объекта в координатной системе его родителя
|
z
|
позиция по оси Z (глубина) точки преобразования объекта в координатной системе его родителя
|
scaleX
|
горизонтальный масштаб объекта в результате трансформации (%)
|
scaleY
|
вертикальный масштаб объекта в результате трансформации (%)
|
skewX
|
угол наклона целевого объекта по горизонтали относительно точки преобразования (в градусах)
|
skewY
|
угол наклона целевого объекта по вертикали относительно точки преобразования (в градусах)
|
rotationX
|
поворот объекта по оси Х относительно исходной ориентации
|
rotationY
|
поворот объекта по оси Y относительно исходной ориентации
|
rotationConcat
|
значения поворота (по оси Z) двигающегося объекта относительно предыдущей ориентации и точки преобразования
|
useRotationConcat
|
если задано это свойство, целевой объект поворачивается, когда метод
addPropertyArray()
передает данные для движения
|
blendMode
|
значение класса BlendMode, определяющее смешивание цветов объекта с находящейся под ним графикой
|
matrix3D
|
свойство matrix3D, если оно существует для данного ключевого кадра; используется для трехмерной анимации; если оно применяется, все предыдущие свойства преобразования игнорируются
|
rotationZ
|
поворот объекта по оси Z в градусах относительно исходной ориентации и трехмерного родительского контейнера, используется для трехмерной анимации вместо свойства rotationConcat.
|
Свойства, добавляемые в автоматически генерируемый сценарий, зависят от того, какие свойства были назначены анимации движения в инструменте разработки 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"]);