2010-03-23 5 views
0

J'essaie de faire un effet sur un bouton lorsque je le survole, il saute de haut en bas en douceur et lorsque la souris s'arrête il s'arrête.Création d'un bouton de rebondissement en flex

J'ai essayé, mais le résultat était vraiment mauvais:

<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" /> 

quelqu'un peut me aider à ce sujet?

Il ya quelque chose d'autre que j'ai remarqué quand je souris sur le bouton et pendant l'effet le texte sur le bouton devient très brumeux.

Merci

Répondre

0

Pouvez-vous préciser ce que vous entendez par «vraiment mauvais»? Que voyez-vous exactement que vous n'aimez pas? Quant au texte devenant flou, ce n'est pas surprenant. Les effets font des choses bizarres au texte, parfois en les froissant, parfois en les brouillant. Cela semble être dû au fait qu'ils sont convertis en bitmap avant que l'effet ait lieu, puis qu'ils reviennent après. Avant le bouton commence à se déplacer, essayez de régler comme si BlurFilter à une valeur zéro du bouton,:

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

puis onEffectEnd vous définissez à:

myFilters = []; 
btn.filters = myFilters; 

Par ailleurs, faire le réglage exactement comme montré dans le premier exemple. Si vous essayez simplement de définir le btn.filters à [nouveau BlurFilter (0,0,0)] cela ne fonctionnera pas correctement.

+0

L'effet entier n'est pas lisse et si vous avez placé le curseur sur les bordures supérieures de bouton il rebondira d'une manière irritée. Il ne réalise pas ce que je veux, j'espérais que lorsque je passe le bouton, il rebondit une fois et puis s'arrête ou continue à sauter sur une petite distance, puis s'arrête quand je déploie – Yasmine

+0

Eh bien, vous définissez la durée à être 2000 ms (2 secondes), donc ça ne le rendra pas saccadé. Réglez sur quelque chose beaucoup plus rapide, comme 10 ou 20 ms. – Robusto

Questions connexes