Flex: как создать цветовой фильтр Glow с длительностью - PullRequest
0 голосов
/ 13 апреля 2011

Мне нужно выделить границу кнопки, поэтому я создал фильтр свечения, например, такой:

<s:GlowFilter id="GlowFilter1"
  color="0xD9D919"
   blurX="30" blurY="40"
  alpha="1"
 />

Проблема в том, что я не знаю, как удалить эффект.Эффект остается в опции, как он был выделен.Таким образом, я хотел бы установить длительность или что-то, что удаляет эффект, который я создаю.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 апреля 2011

Согласно Adobe Live Docs .

Удаление фильтров из экранного объекта

Удалить все фильтры из экранного объекта так же просто, как присвоить нулевое значение свойству filters:

myDisplayObject.filters = null;

Таким образом, если вы хотите, вы можете установить фильтр на нулевое значение через некоторое время, используя Таймер , или поместить его в событие (например,MouseOut)

1 голос
/ 13 апреля 2011

Не могу сказать, что я фанат фильтров / анимации Flex. Они кажутся мне слишком загруженными. Я лично использую TweenMax , потому что он быстрый и простой в использовании. В этом случае, если вы хотите создать светящийся фильтр, вы должны сделать это:

import com.greensock.*; 
import com.greensock.easing.*;
import com.greensock.plugins.*;

// First you need to 'activate' the plugin.  Only need to do this once on app startup.
TweenPlugin.activate([GlowFilterPlugin]);

// Fade in glow
TweenMax.to(yourComponent, 1, {glowFilter:{color:0x91e600, alpha:1, blurX:30, blurY:30}});

// Fade out glow
TweenMax.to(yourComponent, 1, {glowFilter:{alpha:0, remove:true}});

Полегче, а? :)

1 голос
/ 13 апреля 2011

Если вы используете Flex 3, используйте класс AnimateProperty.

Есть пример в документ

...