2010-03-23 162 views
0

我试图对按钮进行效果处理,当我将鼠标放在它上面时,它会一直保持上下跳动,当鼠标滑出时它会停止。在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" /> 

有人可以帮我在这?

当我将鼠标放在按钮上并且在效果中按钮上的文字变得非常朦胧时,我注意到了另外一些东西。

谢谢

回答

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)],它将无法正常工作。

+0

整个效果不光滑,如果您将光标放在按钮顶部的边框上,它会以恼人的方式反弹。 它没有达到我想要的,我希望当我翻转按钮时,它会反弹一次,然后停止或继续跳跃一小段距离,然后停止当我推出 – Yasmine 2010-03-23 16:55:08

+0

那么,您将持续时间设置为2000毫秒(2秒),所以不会让它生涩。设置更快,例如10或20毫秒。 – Robusto 2010-03-23 17:12:06