2010年04月27日

习惯用了flash当发现flex没有tween类的时候 我就动了脑筋 吧flash里面的Tween类进行打包成swc然后给flex使用

步骤如下

1 创建一个 flash 在库里面创建一个影片剪辑 命名为flTween  打开该flTween

2在该影片的第一帧上写入代码 import fl.transitions.Tween;    var tween:Tween;

3然后在库里面点击flTween右击 导出swc 就可以了 到时候

就可以在flex里面进行加载进去 使用跟普通在flex里面使用swc一样的

可老大他们都说这样不行 会增加容量的 。后来我就想flex是否就有自身的缓动效果呢 哈哈 其实真的有 在基类UIComponent就已经实现了 showEffect

但是好像showEffect没有Tween好用 这个我会在后面的例子里继续探讨的

实现步骤如下例子1

<?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.core.UIComponent;
   import mx.controls.DataGrid;
   import com.LinShiTest;
   import fl.transitions.Tween;
   import mx.effects.easing.Elastic;
   private var dataGrid:DataGrid;
   private function init():void{  
     dataGrid = new DataGrid;
     this.addChild(dataGrid);
     dataGrid.setStyle("showEffect",fadeIn);
     dataGrid.setStyle("hideEffect",fadeOut);
     dataGrid.visible = false;
   }   
   private var i:uint = 0;
   private function btnFunc():void{
    if(i==0){
     dataGrid.visible=true;
     i=1;
    }else if(i==1){
     dataGrid.visible=false;
     i=0;
    }
   }
  ]]> 
 </mx:Script>
 <mx:Fade id="fadeIn" deactivate="1000" alphaFrom="0.0" alphaTo="1.0"/>
 <mx:Fade id="fadeOut" deactivate="1000" alphaFrom="1.0" alphaTo="0.0"/>
 <mx:Button click="btnFunc()" x="181" y="168"/>
</mx:Application>
 


这里需要注意的是 showEffect 和hideEffect必须在设置visible的时候才能显示被监听到 才会有反应

你可能感兴趣的:(2010年04月27日)