2009-07-02 16 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. 这并不容易,但这些库提供了更好的性能。