2009-07-02 7 views
0

Salut quand j'ajouter un nouveau composant à l'aide Actionscript je veux qu'il se fanent en douceur, par exemple ce composantfondu dans du composant ajouté avec Actionscript

var df : DateField = new DateField(); 
    df.text = DateField.dateToString(new Date(),stringFormat); 
    df.formatString = stringFormat; 

J'ai essayé

var fade : Fade = new Fade(); 
    df.setStyle("showEffect", fade); 

mais n'a pas fonctionné.

des idées? =)

Merci à l'avance

Sebastian

Répondre

3

Le showEffect ne se déclenche que lorsque vous modifiez la propriété .visible du composant - vous devez déclencher que quelque part à l'expérience de la génialité du fondu.

J'ai jeté cela ensemble réel rapide afin que vous puissiez voir ce que je veux dire (remarque aussi j'ai utilisé une chaîne pour définir le fondu plutôt qu'un objet - il semble toujours plus facile de cette façon ... espérons qu'il aide!)

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
       layout="absolute" 
       creationComplete="init()"> 

    <mx:Script> 
     <![CDATA[ 
      import mx.events.FlexEvent; 
      import mx.controls.DateField; 

      private function init():void{ 

       var df:DateField = new DateField(); 
       df.visible = false; 
       df.setStyle("showEffect","Fade"); 
       this.addChild(df); 
       df.addEventListener(FlexEvent.CREATION_COMPLETE,triggerFade); 

      } 

      private function triggerFade(event:FlexEvent):void{ 

       var df:DateField = event.currentTarget as DateField;  
       df.visible = true; 

      } 

     ]]> 
    </mx:Script> 
</mx:Application> 
1

Il convient de souligner que les bibliothèques d'interpolation Adobe et le tri sont très lents. Je suggère GTween (toujours en version bêta, mais je n'ai pas eu de problèmes), TweenLite/Max (peut avoir des problèmes de licence), ou Tweener (Facile à utiliser, mais beaucoup plus lent que les deux autres), définissant l'alpha à 0 et puis disparaître à 1. Ce n'est pas aussi simple, mais ces bibliothèques offrent de bien meilleures performances.

Questions connexes