<mx:tagname Properties customFilter="" duration="500" filter="" hideFocusRing="false" perElementOffset="0" repeatCount="1" repeatDelay="0" startDelay="0" suspendBackgroundProcessing="false|true" target="effect target" targets="array of effect targets" Events effectEnd="No default" efectStart="No default" />]]>
Экземпляр самого класса Effect в приложении не создается. Вместо этого создается экземпляр одного из подклассов, например Fade или WipeLeft.
Запуск эффекта, как правило, состоит из трех шагов:
target[property] = value;
Этот метод следует переопределять только в том случае, если полученное значение необходимо применить другим способом. Следует отметить, что для установки свойств стиля целевого объекта применяется другой механизм. Для указания свойства стиля, которое требуется получить и применить, используется свойство
Flex выполняет вызов этого метода из метода
При создании пользовательского эффекта вы перезаписываете этот метод для копирования свойств из класса Effect в класс экземпляров эффектов. При изменении вызовите
Для всех подклассов класса Effect это свойство должно быть установлено в соответствующем конструкторе.
Рекомендуется устанавливать для этого свойства значение
<mx:tagname createMaskFunction="" moveEasingFunction="" scaleEasingFunction="" scaleXFrom="" scaleXTo="" scaleYFrom="" scaleYTo="" show="true|false" xFrom="" xTo="" yFrom="" yTo="" />]]>
Эффект маски для применения эффекта использует перекрытие, называемое маской. По умолчанию маска представляет собой прямоугольник того же размера, что и целевой компонент.
Начальное или конечное состояние целевого компонента эффекта маски должно быть невидимым. Это означает, что эффект маски всегда приводит к появлению на экране или исчезновению с экрана целевого компонента.
Свойства
Свойства
Координаты начального и конечного положения маски зависят от типа эффекта и значения свойства
Для свойства
После однократного воспроизведения эффекта данное событие происходит одновременно с событием
Событие
Если создается подкласс класса MaskEffect для воспроизведения пользовательского эффекта, и этот подкласс изменяет другой набор свойств целевого объекта, метод следует переопределить и возвратить массив, содержащий список свойств, изменяемых данным подклассом.
Пользовательская функция маски имеет следующую подпись:
public function createLargeMask(targ:Object, bounds:Rectangle):Shape { var myMask:Shape = new FlexShape(); // Create mask. return myMask; }
Пользовательская функция маски принимает первый аргумент, соответствующий целевому компоненту эффекта, и второй аргумент, определяющий размеры цели, что позволяет правильно установить размеры маски. Этот аргумент используется для получения доступа к свойствам целевого компонента, таким как
Функция возвращает отдельный объект Shape, определяющий маску.
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
Для определения данного свойства необходимо указать все четыре свойства:
<mx:SoundEffect>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:SoundEffect Properties id="ID" autoLoad="true|false" bufferTime="1000" loops="0" panEasingFunction="" panFrom="0" source="" startTime="0" useDuration="true|false" volumeEasingFunction="true|false" volumeTo="1" Events complete="No default" id3="No default" ioError="No default" progress="No default" />]]>
Файл MP3 указывается с помощью свойства
В объекте события можно получить доступ к информации о количестве загруженных в настоящее время байтов и об общем количестве байтов, которые требуется загрузить. Отправка события не является обязательной, т. е. событие
Свойство
<mx:TweenEffect>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:TagName Properties easingFunction="easing function name; no default" Events tweenEnd="No default" />]]>
Для определения эффекта, воспроизводящего анимацию в течение некоторого интервала времени, необходимо создать подкласс класса TweenEffect. Например, эффект Resize изменяет размер целевого объекта в течение указанного интервала.
При однократном воспроизведении эффекта анимации данное событие происходит одновременно с событием
Событие
Если функция замедления не указана, используется функция на основе метода
Функция замедления сопровождается подписью функции, популяризируемой Робертом Пеннером. Функция принимает четыре аргумента. Первый аргумент – «текущее время», где начальное время анимации равно 0. Второй аргумент – начальное значение в начале анимации (число). Третий аргумент – конечное значение минус начальное значение. Четвертый аргумент – продолжительность анимации. Возвращаемое значение – интерполированное значение для текущего времени. Как правило, это значение находится в диапазоне между начальным и конечным значениями.
Значением этого свойства должен быть объект функции.
Flex включает ряд функций замедления, входящих в пакет в mx.effects.easing.
При определении эффектов анимации, как правило, создается экземпляр класса Tween с переопределением метода
Объект Tween запускает функцию обратного вызова
По завершении эффекта объект Tween запускает функцию обратного вызова
При вызове конструктора анимация воспроизводится автоматически.
Этот метод позволяет указывать другие методы в качестве функций обратного вызова для обновления и завершения.
Если функция замедления не указана, используется функция на основе метода
Функция замедления сопровождается подписью функции, популяризируемой Робертом Пеннером. Функция принимает четыре аргумента. Первый аргумент – «текущее время», где начальное время анимации равно 0. Второй аргумент – начальное значение в начале анимации (число). Третий аргумент – конечное значение минус начальное значение. Четвертый аргумент – продолжительность анимации. Возвращаемое значение – интерполированное значение для текущего времени (как правило, это значение между начальным и конечным значениями).
Flex включает ряд функций замедления, входящих в пакет в mx.effects.easing.
Разработчики эффектов должны создать класс экземпляров для пользовательских эффектов.
<mx:Zoom>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Zoom id="ID" captureRollEvents="false|true" originX="Calculated" originY="Calculated" zoomWidthFrom="0.01" zoomWidthTo="1.0" zoomHeightFrom="0.01" zoomHeightTo="1.0" />]]>
При применении эффекта Zoom к тексту, визуализируемому с использованием системного шрифта, Flex применяет масштабирование текста в соответствии с целыми размерами кегля. Несмотря на то что использование встроенных шрифтов нежелательно при применении эффекта Zoom к тексту, после применения Zoom к встроенным шрифтам текст выглядит более ровным.
Примечание. Эффект Zoom не работает, если свойство
Например,
Значение должно находиться в диапазоне от 0 до величины, соответствующей ширине целевого компонента.
По умолчанию используется значениеЗначение должно находиться в диапазоне от 0 до величины, соответствующей высоте целевого компонента.
По умолчанию используется значение<mx:AnimateProperty>
tag
inherits all the tag attributes of its superclass
and adds the following tag attributes:
<mx:AnimateProperty id="ID" fromValue="0" isStyle="false|true" property="required" roundValue="false|true" toValue="0" />]]>
Например, для эффекта изменения ширины элемента управления Button можно указать
<mx:Move>
tag
inherits all of the tag attributes of its of its superclass,
and adds the following tag attributes:
<mx:Move id="ID" xFrom="val" yFrom="val" xTo="val" yTo="val" xBy="val" yBy="val" />]]>
При указании любых двух пар значений (начальная позиция, место назначения или расстояние) Flex вычисляет третью пару. Если указаны все три пары значений, Flex игнорирует значения
Если для триггера
Как правило, этот эффект применяется к целевому объекту в контейнере, использующем абсолютное позиционирование, таком как Canvas, или в контейнере с
<mx:Iris>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Iris id="ID" />]]>
<mx:Sequence>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Sequence id="identifier"> <mx:children> <!-- Specify child effect tags --> </mx:children> </mx:Sequence>]]>
Эффект Sequence можно создать в MXML следующим образом:
<mx:Sequence id="WipeRightUp"> <mx:children> <mx:WipeRight duration="1000"/> <mx:WipeUp duration="1000"/> </mx:children> </mx:Sequence> <mx:VBox id="myBox" hideEffect="{WipeRightUp}"> <mx:TextArea id="aTextArea" text="hello"/> </mx:VBox>
Следует отметить, что тег
Запуск комбинированного эффекта в ActionScript, как правило, состоит из пяти шагов:
myFadeEffect = new mx.effects.Fade(target);
mySequenceEffect = new mx.effects.Sequence();
mySequenceEffect.addChild(myFadeEffect);
mySequenceEffect.play();
<mx:Dissolve>
tag
inherits the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Dissolve id="ID" alphaFrom="val" alphaTo="val" color="val" />]]>
Если целевой объект является контейнером, эффект Dissolve применяется к области содержимого контейнера. Область содержимого – это область, в которой отображается цвет фона контейнера.
Примечание. Для использования эффекта Dissolve с триггером
Если эффект вызывает исчезновение целевого компонента, то значением по умолчанию является текущее значение свойства
Если эффект вызывает исчезновение целевого компонента, то значение по умолчанию равно 0,0. Если эффект вызывает появление целевого компонента, то значением по умолчанию является текущее значение свойства
<mx:Blur>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Blur id="ID" blurXFrom="val" blurXTo="val" blurYFrom="val" blurYTo="val" />]]>
Эффект Blur использует класс FlashBlurFilter как часть реализации. Для получения дополнительной информации см. flash.filters.BlurFilter.
Если к компоненту применяется эффект Blur, то к нему невозможно применить эффект BlurFilter или второй эффект Blur.
Если эффект является частью эффекта изменения данных, Flex автоматически вызывает метод
Flex использует эту функцию при воспроизведении эффекта изменения данных.
Эта функция используется при необходимости вычисления эффектом начального и конечного значений эффекта. Для использования этой функции необходимо выполнить следующие действия:
Экземпляр эффекта создается с типом, указанным в свойстве
Вызов метода
Эта функция вызывается автоматически методом
Когда этот метод вызывается как часть завершения эффекта, экземпляр эффекта отправляет событие
Если экземпляр эффекта передается в качестве аргумента, то прерывается только этот экземпляр. Если аргумент не передается, прерываются все экземпляры эффекта, порожденные эффектом к настоящему времени.
Каждый подкласс Effect должен реализовывать этот метод. Данный метод используется EffectManager для предотвращения одновременной анимации какими-либо двумя эффектами одного и того же свойства одного объекта.
Этот метод необходимо реализовать во всех подклассах.
Когда этот метод вызывается как часть завершения эффекта, экземпляр эффекта отправляет событие
Что касается эффектов маски, то после завершения эффекта маска не удаляется автоматически. Выполнение других эффектов маски для тех же самых целевых объектов без предварительного удаления маски может привести к непредвиденным результатам.
Это короткое или неполное имя класса, в которое не входит имя пакета. Если требуется полное имя, следует воспользоваться методом
Фильтрация целевых объектов выполняется только в том случае, если перед воспроизведением эффекта вызывается метод
Для простой фильтрации следует использовать свойство
В эффекте Parallel или Sequence свойство
Для повторяющегося эффекта свойство
Фильтрация целевых объектов выполняется только в том случае, если перед воспроизведением эффекта вызывается метод
Это свойство используется для простой фильтрации. Для более сложной фильтрации следует воспользоваться свойством
Для свойства
Для скрытия кольца фокуса во время воспроизведения эффекта следует установить для этого свойства значение
Для подклассов Effect значением по умолчанию является значение
Значением по умолчанию является массив, возвращенный методом
Значением по умолчанию является массив, возвращенный методом
<mx:Pause>
tag
inherits all the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Pause id="ID" eventName="null" />]]>
Прослушивание
Это свойство не является обязательным; под стандартным действием подразумевается воспроизведение без ожидания какого-либо события.
<mx:tagname> <mx:children> <!-- Specify child effect tags --> </mx:children> </mx:tagname>]]>
Комбинированный эффект можно создать в MXML следующим образом:
<mx:Parallel id="WipeRightUp"> <mx:children> <mx:WipeRight duration="1000"/> <mx:WipeUp duration="1000"/> </mx:children> </mx:Parallel> <mx:VBox id="myBox" hideEffect="WipeRightUp"> <mx:TextArea id="aTextArea" text="hello"/> </mx:VBox>
Тег
Запуск комбинированного эффекта в ActionScript, как правило, состоит из пяти шагов:
myFadeEffect = new mx.effects.Fade(target);
mySequenceEffect = new mx.effects.Sequence();
mySequenceEffect.addChild(myFadeEffect);
mySequenceEffect.play();
Функция вызывается эффектом
<mx:SetStyleAction>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:SetStyleAction Properties id="ID" style="" value="" />]]>
Если для создания пользовательского эффекта создается подкласс этого класса, следует переопределить данный метод и возвратить массив, содержащий список свойств стиля, изменяемых подклассом.
<mx:Rotate>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Rotate id="ID" angleFrom="0" angleTo="360" originX="0" originY="0" />]]>
Примечание. Для использования эффекта Rotate с текстом необходим встроенный шрифт, а не шрифт устройства.
Если значение
Класс EffectTargetFilter содержит метод
Для реализации собственной логики фильтрации можно также определить пользовательскую функцию фильтрации. Для этого следует определить функцию фильтрации, а затем указать эту функцию в объекте EffectTargetFilter с помощью свойства
Для настройки эффекта на использование пользовательского фильтра необходимо передать объект EffectTargetFilter в свойство
Функция фильтрации имеет следующую подпись:
filterFunc(propChanges:Array, instanceTarget:Object):Boolean { // Return true to play the effect on instanceTarget, // or false to not play the effect. }
где:
Если определена пользовательская функция фильтрации, свойство
Если определена пользовательская функция фильтрации, свойство
При работе с эффектами данных это свойство можно использовать для фильтрации эффектов. Если требуется воспроизвести эффект данных для всех целевых объектов из элемента управления list, не добавляемых эффектом, т. е. целевых объектов, удаляемых, замещаемых, перемещаемых или обрабатываемых любым другим способом, можно создать описание эффекта следующим образом:
<mx:Blur> <mx:customFilter> <mx:EffectTargetFilter requiredSemantics="{{'added':false}}"/> </mx:customFilter> </mx:Blur>
Для воспроизведения эффекта данных для всех целевых объектов, не добавляемых или удаляемых эффектом, можно создать определение эффекта следующим образом:
<mx:Blur> <mx:customFilter> <mx:EffectTargetFilter requiredSemantics="{{'added':false}, {'removed':false}}"/> </mx:customFilter> </mx:Blur>
В список допустимых для определения свойств входят свойства
<mx:Fade>
tag
inherits the tag attributes of its superclass,
and adds the following tag attributes:
<mx:Fade id="ID" alphaFrom="val" alphaTo="val" />]]>
Если эффект Fade устанавливается для триггера
Примечание. Для использования эффекта Fade с текстом необходим встроенный шрифт, а не шрифт устройства.
Если эффект вызывает исчезновение целевого компонента, то значением по умолчанию является текущее значение свойства
Если эффект вызывает исчезновение целевого компонента, то значение по умолчанию равно 0,0. Если эффект вызывает появление целевого компонента, то значением по умолчанию является текущее значение свойства
<mx:Parallel id="identifier"> <mx:children> <!-- Specify child effect tags --> </mx:children> </mx:Parallel>]]>
Эффект Paralell можно создать в MXML следующим образом:
<mx:Parallel id="WipeRightUp"> <mx:children> <mx:WipeRight duration="1000"/> <mx:WipeUp duration="1000"/> </mx:children> </mx:Parallel> <mx:VBox id="myBox" hideEffect="{WipeRightUp}" > <mx:TextArea id="aTextArea" text="hello"/> </mx:VBox>
Следует отметить, что тег
Запуск эффекта Parallel в ActionScript, как правило, состоит из пяти шагов:
myFadeEffect = new mx.effects.Fade(target);
myParallelEffect = new mx.effects.Parallel();
myParallelEffect.addChild(myFadeEffect);
myParallelEffect.play();
Разработчики эффектов должны создать класс экземпляров для пользовательских эффектов.
Когда этот метод вызывается как часть завершения эффекта, экземпляр эффекта отправляет событие
Этот метод можно дополнительно переопределить в подклассе EffectInstance. В качестве части переопределения в конце переопределения после логики необходим вызов метода
Переопределение данного метода в подклассе невозможно. Необходимость в вызове данного метода при использовании эффектов отсутствует, но его вызов может потребоваться при создании подкласса эффекта.
Переопределение данного метода в подклассе невозможно. Вызов данного метода при использовании эффектов не требуется.
В подклассе EffectInstance этот метод необходимо переопределить. В переопределении необходимо вызвать метод
Когда этот метод вызывается как часть завершения эффекта, экземпляр эффекта отправляет событие
Это короткое или неполное имя класса, в которое не входит имя пакета. Если требуется полное имя, следует воспользоваться методом
Для скрытия кольца фокуса во время воспроизведения эффекта следует установить для этого свойства значение
Для подклассов Effect значением по умолчанию является значение
Как правило, свойство
Если эффект был воспроизведен программно с помощью вызова метода