习惯用了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的时候才能显示被监听到 才会有反应