Описание анимации

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий, требуется Flash CS3 или более поздних версий

Метод 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"]);