我正在做一个带有两个过滤器的按钮,当用户将光标悬停在它上面时(鼠标悬停)和两个过滤器补间,当光标退出它时。很基本的东西。
过滤器是 Glow 和 DropShadow。Glow 应用于文本,而 DropShadow 应用于按钮背景(一个简单的矩形)。
这里的问题是 GlowIn 的转换不起作用。当鼠标悬停在过滤器上时,它会立即以全 alpha 应用过滤器。GlowOut 虽然有效。
虽然它设置为 0.25 时间,但为了确定,我尝试了整整 5 秒,但它仍然没有工作,所以它不是时间问题。
这是我的代码:
import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;
import flash.filters.GlowFilter;
FilterShortcuts.init();
texto.mouseEnabled = false;
this.addEventListener(MouseEvent.MOUSE_OVER, FiltersIn);
this.addEventListener(MouseEvent.MOUSE_OUT, FiltersOut);
var glow = new GlowFilter(0xFFFFFF, 0, 5, 5, 3, 250);
texto.filters = [glow];
function FiltersIn(MouseEvent):void{
Tweener.addTween(this, {_DropShadow_distance:5, _DropShadow_alpha:1, _DropShadow_blurX:5, _DropShadow_blurY:5, time:0.25, transition:"easeOutCubic"});
Tweener.addTween(texto, {_Glow_alpha:100, time:0.25, transition:"easeOutCubic"});
}
function FiltersOut(MouseEvent):void{
Tweener.addTween(this, {_DropShadow_distance:0, _DropShadow_alpha:0, _DropShadow_blurX:0, _DropShadow_blurY:0, time:0.25, transition:"EaseInCubic"});
Tweener.addTween(texto, {_Glow_alpha:0, time:0.25, transition:"easeInCubic"});
}