#apache-flex #colors #filter #effect
#apache-flex #Цвет #Фильтр #эффект
Вопрос:
Мне нужно выделить границу кнопки, поэтому я создал фильтр свечения, подобный этому:
<s:GlowFilter id="GlowFilter1"
color="0xD9D919"
blurX="30" blurY="40"
alpha="1"
/>
Проблема в том, что я не знаю, как удалить эффект. Эффект остается в опции в том виде, в каком он был выделен.
Таким образом, я хотел бы установить длительность или что-то, что устраняет создаваемый мной эффект.
Спасибо.
Ответ №1:
Согласно Adobe live docs.
Удаление фильтров из отображаемого объекта
Удалить все фильтры из отображаемого объекта так же просто, как присвоить свойству filters значение null:
myDisplayObject.filters = null;
Итак, если вы хотите, вы можете установить filter равным нулю через некоторое время с помощью таймера или указать это в событии (например, наведение курсора мыши)
Комментарии:
1. Спасибо, но я все еще не знаю, как установить продолжительность фильтра. Для эффекта затухания я могу это сделать…
2. @manel насколько я понимаю, вы используете в основном mxml, а не as3, поэтому вам следует попробовать ответить от Флориана Ф.
Ответ №2:
ЕСЛИ вы используете Flex 3, используйте класс AnimateProperty.
Ответ №3:
Я не могу сказать, что я фанат фильтров / анимаций 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. Я ничего не вижу о запрашиваемой «задержке»