在flex中创建弹跳按钮

时间:2010-03-23 10:08:35

标签: flex

我试图对一个按钮产生影响,当我将鼠标悬停在按钮上时,它会保持平稳地上下跳动,当鼠标停止时它会停止。

我试过了,但结果非常糟糕:

<mx:Sequence id="bounceEffect" repeatCount="0">
      <mx:Move duration="2000" yBy="10" easingFunction="{Bounce.easeOut}"/>
      <mx:Move duration="2000" yBy="-10" easingFunction="{Bounce.easeOut}"/>    
</mx:Sequence>

<mx:Button id="btn" label="Request Information" rollOver="bounceEffect.play([btn])" 
    rollOut="bounceEffect.end()" fillColors="[#ff0000, #ff0000, #ff0000, #ff0000]" color="#ffffff" textRollOverColor="#ffffff"  />

有人可以帮我吗?

当我将鼠标悬停在按钮上时,我注意到了其他一些内容,在效果期间,按钮上的文字变得非常模糊。

由于

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

你能详细说明“非常糟糕”的含义吗?你究竟看到了什么,你不喜欢。

至于文字变得模糊,这并不奇怪。效果会对文本产生奇怪的影响,有时会使它们变得模糊,有时会使它们变得模糊。这似乎是因为它们在效果发生之前转换为位图,然后再恢复。在按钮开始移动之前,尝试将按钮的BlurFilter设置为零值,如下所示:

var myFilters:Array = [];
var bf:BlurFilter = new BlurFilter(0,0,0);
myFilters.push(bf);
btn.filters = myFilters;

然后onEffectEnd将其设置为:

myFilters = [];
btn.filters = myFilters;

顺便说一下,完全按照第一个例子中的说明进行设置。如果您只是尝试将btn.filters设置为 [new BlurFilter(0,0,0)] ,它将无法正常工作。