2009-07-02 38 views
0

嗨增加的分量,當我使用ActionScript添加我希望它平穩地消失在一個新的組件,例如該組件淡入用的Actionscript

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

我想這

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

但不工作。

有什麼想法? =)

在此先感謝

塞巴斯蒂安

回答

3

當您更改組件的。可見屬性的showEffect時纔會觸發 - 你需要觸發的地方體驗褪色迷死。

我扔了一起真正的快,所以你能明白我的意思(也注意到我用一個字符串來定義淡入淡出,而不是一個對象 - 它似乎總是更容易這樣......希望它能幫助!)

<?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

應該指出,Adobe的補間庫和排序非常緩慢。我建議GTween(仍在測試階段,但我沒有任何問題),TweenLite/Max(可能有一些授權問題)或Tweener(易於使用,但比其他兩個更慢),將alpha設置爲0然後淡入1. 這並不容易,但這些庫提供了更好的性能。