Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
 

Элементы движения XML 

Для описания анимации движения можно использовать классы XML и ActionScript из пакета fl.motion. В Adobe Flash Professional есть команда «Копировать движение как код ActionScript», которая создает код ActionScript и XML на основе анимации движения по шкале времени для дальнейшего использования в других проектах или на других символах. Можно также задать собственную анимацию движения. Если во время компиляции в подкаталоге класса имеются классы fl.motion, то к указанному отображаемому объекту будет применена анимация движения. Для получения дополнительной информации о классах анимации см. пакет fl.motion. Элементы по поддержке XML соответствуют классам и свойствам, описанным в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5.

Иерархия элементов XML выглядит следующим образом:

<Motion> 
 <Source> 
      <dimensions/> 
        <geom:Rectangle /> 
      </dimensions> 
      <transformationPoint> 
        <geom:Point /> 
      </transformationPoint> 
  </Source> 
  <Keyframe> 
    <color>  
      <Color /> 
    </color>      
    <tweens> 
      <SimpleEase /> 
      <CustomEase> 
      <BezierControl /> 
        <BezierNode /> 
      </CustomEase> 
    </tweens> 
    <filters>  
      <filters /> 
    </filters>    
  </Keyframe> 
</Motion>

В следующей таблице приводится краткая сводка по элементам и атрибутам XML, которые могут быть присвоены объекту анимации. Дополнительные сведения о каждом элементе см. в описаниях свойств, которые перечислены в классах, соответствующих каждому отдельному элементу.

ЭлементАтрибутТипОписание
Motion  Определяет экземпляр Motion таким образом, чтобы Flash смог присвоить свойства, характеризующие анимацию движения. См. класс fl.motion.Motion.
 продолжительностьNumberЧисло кадров в выбранной анимации движения. См. свойство fl.motion.MotionBase.duration.
source  Содержит данные свойства исходного визуального объекта, связанного с движением. См. описание класса fl.motion.Source.
SourceframeRateNumberПараметр частоты кадров в секунду (fps) для SWF-файла, в котором содержится исходная анимация, скопированная из Flash Professional. Это значение не оказывает влияния на реализацию ActionScript в другом SWF-файле. См. описание свойства fl.motion.Source.frameRate.
 xNumberКоордината х точки преобразования экземпляра символа в начале исходной анимации движения, скопированной из Flash Professional.
 yNumberКоордината y точки преобразования экземпляра символа в начале исходной анимации движения, скопированной из Flash Professional.
 scaleXNumberПроцент масштаба по горизонтали, выраженный в виде десятичной дроби. Часто значение находится в пределах 0–1, но может быть как больше 1, так и меньше 0. Например, можно задать свойству scaleX значение -1 для отражения объекта или 3 для его увеличения в три раза.
 skewXNumberУгол (в градусах) среза вдоль горизонтальной оси. Если значения skewX и skewY равны, они заменятся атрибутом rotation.
 skewYNumberУгол (в градусах) среза вдоль вертикальной оси. Если значения skewX и skewY равны, они заменятся атрибутом rotation.
 rotationNumberУгол поворота исходного кадра.
 elementTypeStringТип визуального объекта, используемого при анимации движения. Возможные значения: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" или "text".
 symbolNameStringНазвание символа в библиотеке документов Adobe Flash Professional, если таковой существует (так как исходный визуальный объект может и не быть экземпляром символа).
dimensions  Содержит теги, использующие пространство имен geom для описания точки преобразования для анимируемого символа.
geom:Rectangle  Объект из пакета flash.geom.Можно добавлять атрибуты, соответствующие свойствам объекта flash.geom.Rectangle. Например: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Значения top и left являются относительными по отношению к точке регистрации родительского объекта (top и left определяются в пространстве координат родительского объекта).
geom:Point Объект из пакета flash.geom.Координаты точки преобразования определяются в виде процента от размеров ограничительной рамки (значения элемента geom:Rectangle). При нахождении точки преобразования в верхнем левом углу ограничительной рамки ее координатами является (0, 0). При нахождении точки преобразования в правом нижнем углу ограничительной рамки ее координатами является (1, 1). Эти значения позволяют применять точку преобразования единым образом к объектам с различными пропорциями и точками регистрации. Точка преобразования может находиться за пределами ограничительной рамки. В этом случае ее координаты могут быть меньше 0 и больше 1.
Keyframe  Содержит сведения о ключевом кадре на временной шкале.
 blankBooleanУказывает на то, что ключевой кадр пуст.
 indexNumberУникальное целое число для ключевого кадра. Первый ключевой кадр всегда имеет индекс, равный 0. В XML ключевые кадры должны быть указаны в порядке возрастания значения индекса.
 labelStringДополнительная строка, описывающая ключевой кадр и соответствующая метке кадра на временной шкале.
 tweenSyncBooleanПереключает значение синхронизации: "true" (включено) или "false" (выключено). Sync заново вычисляет число кадров в анимации, чтобы число соответствовало числу кадров, выделенных на временной шкале. Действие этого атрибута не распространяется на анимацию ActionScript, так как ActionScript не может контролировать графические символы. Атрибут XML используется только командами Adobe Flash Professional «Копировать движение» и «Вставить движение». Если отсутствует в XML, то подставляется значение по умолчанию true.
 tweenSnapBooleanПереключает значение «Привязка»: "true" (включено) или "false" (выключено). Привязка осуществляет привязку к контуру движения символа по точке его регистрации. Действие этого атрибута не распространяется на анимацию ActionScript, так как ActionScript не может контролировать графические символы. Атрибут XML используется только командами Adobe Flash Professional «Копировать движение» и «Вставить движение». Если отсутствует в XML, то подставляется значение по умолчанию true.
 xNumberКоордината x центральной точки экземпляра символа в начале текущего ключевого кадра.
 yNumberКоордината y центральной точки экземпляра символа в начале текущего ключевого кадра.
 scaleXNumberПроцентное значение горизонтального масштаба в виде десятичного значения от 0 до 1. Это значение обычно находится в диапазоне от 0 до 1, но может и выходить за пределы этого диапазона. Например, scaleX может равняться -1 (зеркальное отражение объекта) или 3 (троекратное увеличение исходного размера объекта).
 scaleYNumberПроцентное значение вертикального масштаба в виде десятичного значения от 0 до 1. Это значение обычно находится в диапазоне от 0 до 1, но может и выходить за пределы этого диапазона. Например, scaleY может равняться -1 (зеркальное отражение объекта) или 3 (троекратное увеличение исходного размера объекта).
 skewXNumberУгол (в градусах) среза вдоль горизонтальной оси. Если значения skewX и skewY равны, они заменятся атрибутом rotation.
 skewYNumberУгол (в градусах) среза вдоль вертикальной оси. Если значения skewX и skewY равны, они заменятся атрибутом rotation.
 rotationNumberУгол поворота текущего кадра.
 rotateDirectionStringУказывает на способ вращения анимируемого элемента. Возможные значения: "auto", "none", "cw", "ccw". Если отсутствует в XML, то подставляется значение по умолчанию "auto".
 rotateTimesNumberУказывает на количество вращений анимированного объекта между начальным и последующим ключевым кадром в дополнение к обычному вращению. В Adobe Flash Professional требуется, чтобы это значение было целым и больше или равно 0. Однако классы движения допускают десятичные значения.
 tweenScaleBooleanЕсли значение равно false, то масштаб во время анимации не меняется. Если отсутствует в XML, то подставляется значение по умолчанию true.
 cacheAsBitmapBooleanЕсли отсутствует в XML, то подставляется значение по умолчанию false.
 blendModeStringВозможные значения: "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" и "erase". Если отсутствует в XML, то подставляется значение по умолчанию "normal".
 orientToPathBooleanЕсли отсутствует в XML, то подставляется значение по умолчанию false.
Color  Содержит настройки для цветовых изменений. Экземпляры символов Flash имеют пять цветовых режимов: ни одного, альфа, тон, яркость и дополнительный. Когда преобразование не применяется (ни одного), тег Color пустой и определяет нормальный внешний вид. При использовании альфа-преобразований необходимо задать атрибуты alphaMultiplier и alphaOffset. Для преобразований тона необходимо задать атрибуты tintColor и tintMultiplier.Для преобразований яркости используется атрибут brightness.Для дополнительных преобразований используются атрибуты redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset и alphaOffset.
 brightnessNumberПроцентное значение для применения канала яркости от -1 до 1, где -1 — полностью черный цвет, 1 — полностью белый цвет.
 tintColorHexidecimalШестнадцатеричное значение применяемого цвета.
 alphaMultiplierNumberПроцентное значение для применения альфа-канала в виде десятичного значения от 0 до 1.
 redMultiplierNumberПроцентное значение для применения цвета оттенка в виде десятичного значения от 0 до 1.
 greenMultiplierNumberПроцентное значение для применения цвета оттенка в виде десятичного значения от 0 до 1.
 blueMultiplierNumberПроцентное значение для применения цвета оттенка в виде десятичного значения от 0 до 1.
 alphaMultiplierNumberДесятичное значение от 0 до 1, представляющее собой процентное значение для применения прозрачности альфа-канала.
 tintMultiplierNumberДесятичное значение от 0 до 1, представляющее собой процентное значение для применения значения tintColor.
 redOffsetNumberЧисло от -255 до 255, добавляемое к значению красного канала после умножения на значение redMultiplier.
 greenOffsetNumberЧисло от -255 до 255, добавляемое к значению зеленого канала после умножения на значение greenMultiplier.
 blueOffsetNumberЧисло от -255 до 255, добавляемое к значению синего канала после умножения на значение blueMultiplier.
 alphaOffsetNumberЧисло от -255 до 255, добавляемое к значению альфа-канала после умножения на значение alphaMultiplier.
tweens  Содержит настройки для вариаций замедлений.
SimpleEase  Определяет параметр замедления. Данное значение действует на протяжении всей анимации движения для всех соответствующих свойств.
 easeNumberЗначение замедления, применяемое ко всем свойствами в анимации движения. Атрибут ease представляет собой процентное значение от -1 (100% ускорение) и 1 (100% замедление). При значении по умолчанию (0) скорость анимации остается постоянной (без ускорения или замедления).
 targetNumberПри использовании команд Adobe Flash Professional «Копировать движение» и «Вставить движение» средство разработки создает XML, не содержащий атрибут target для элемента SimpleEase, так как Flash Professional использует одно и то же значение всех свойств замедления. Однако классы ActionScript 3.0 позволяют одновременно присвоить отдельным свойствам различные значения SimpleEase. Для атрибута target могут использоваться те же значения, что и для CustomEase: position, scale, rotation, color, filters, x, y, scaleX, scaleY, skewX и skewY.
CustomEase  Определяет пользовательскую кривую замедления, состоящую из кубических кривых Безье. Может использоваться одновременно для всех свойств. Также можно определить разные кривые для отдельных свойств. Дополнительные сведения о кривых, которые представляют свойства пользовательского замедления, см. в описании класса CustomEase.
 targetNumberСвойство, которому присваивается пользовательское значение. При использовании команд Adobe Flash Professional «Копировать движение» и «Вставить движение» средство разработки создает возможные значения target: position, scale, rotation, color, filters. Классы движения ActionScript 3.0 предоставляют еще больше гибкости, с их помощью можно определять отдельные кривые для свойств x, y, scaleX, scaleY, skewX и skewY. Если атрибут target опускается в XML, все свойства замедления имеют общую цель. Примечание. В XML пропускаются первая и последняя точки пользовательской кривой замедления. Первая точка всегда должна находиться в положении (0, 0) (начальное значение анимированного свойства), а последняя — в положении (1, 1) (конечное значение анимированного свойства). В целях оптимизации кода и во избежание потенциальных ошибок эти значения опускаются в XML и считаются подразумеваемыми.
BezierControl  Точка по отношению к кривой, используемая для ее определения.
 xNumberКоордината x точки для определения кривой.
 yNumberКоордината y точки для определения кривой.
BezierNode  Точка на кривой, используемая для ее определения.
 xNumberКоордината x точки на кривой.
 yNumberКоордината y точки на кривой.
filters  Определяет объект из пакета flash.filters для использования в качестве элемента (например, filters:GlowFilter). Можно добавлять атрибуты, соответствующие свойствам заданного объекта flash.filters. Например: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. См. описание пакета flash.filters.

В следующем примере далее показан фрагмент кода ActionScript с XML, описывающим анимацию движения экземпляра ролика moveShape для символа myShape. По мере его вращения и передвижения используется параметр замедления, а значения альфа-канала меняются через каждые 10 кадров:

import fl.motion.Animator; 
var moveShape_xml:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> 
    <source> 
        <Source frameRate="12" x="41.35" y="91.35" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" instanceName="moveShape" symbolName="myShape"> 
            <dimensions> 
                <geom:Rectangle left="-46.65" top="-61.95" width="133.05" height="133.95"/> 
            </dimensions> 
            <transformationPoint> 
                <geom:Point x="0.49981210071401727" y="0.4998133631952222"/> 
            </transformationPoint> 
        </Source> 
    </source> 
   <Keyframe index="0" rotateTimes="2"> 
        <tweens> 
            <CustomEase> 
                <BezierControl x="0.08650266979261687" y="0.14705453864744866"/> 
                <BezierControl x="0.23675978562091857" y="0.28829454738109694"/> 
                <BezierNode x="0.2689728109485753" y="0.49688733564952436"/> 
                <BezierControl x="0.32093023255813957" y="0.8333333333333333"/> 
                <BezierControl x="0.5988021982960045" y="1.034249160488573"/> 
                <BezierNode x="0.7309082984924317" y="0.8685852488735627"/> 
                <BezierControl x="0.8116279069767443" y="0.767361111111111"/> 
                <BezierControl x="0.910302766164144" y="0.9730908298492431"/> 
            </CustomEase> 
        </tweens> 
    </Keyframe> 
    <Keyframe index="9" x="371.95" y="188"> 
        <color> 
            <Color alphaMultiplier="0.4" alphaOffset="0"/> 
        </color> 
    </Keyframe> 
</Motion>; 
var moveShape_animator:Animator = new Animator(moveShape_xml, moveShape); 
moveShape_animator.play();

[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.