使用tweenmax库进行flex

时间:2011-03-05 20:12:51

标签: flex flex4 flash-builder

我目前正在使用状态变化的flex过渡效果。有没有办法可以使用tweenmax库?

更新

在下面的代码中,我从状态1转换到状态2。我想替换代码tweenermax库。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
           currentState="NORMAL">
<s:states>
    <s:State name="NORMAL" />
    <s:State name="CLICKED" />
</s:states>
<fx:Script>
    <![CDATA[
        import com.greensock.TweenMax;

        public function init():void
        {
            currentState = "CLICKED";
            TweenMax.to(topbar, 10, {x:0, startAt:{x:-500}});
        }
    ]]>
</fx:Script>

<s:layout>
    <s:VerticalLayout paddingTop="5" paddingLeft="5" paddingRight="5"/>
</s:layout>

<s:BorderContainer id="topbar" height="30" width="100%" includeIn="CLICKED" >
    <s:backgroundFill> 
        <s:SolidColor 
            color="#292929" 
            alpha="1"/> 
    </s:backgroundFill> 

</s:BorderContainer>

<s:HGroup id="hg">
    <s:TextInput  />
</s:HGroup>
<s:Button click="init()" label="Click" />
</s:Application>

1 个答案:

答案 0 :(得分:0)

如果你不喜欢你的mxml过于丑陋,你可以做一些事情。首先,您可以在动作脚本中执行所有操作,如here所示。正如您所提到的,TweenLite是另一种选择。要在TweenLite中实现淡入淡出效果,您只需选择开始alpha和结束alpha,以便对象从opaque过渡到透明。

查看交互式演示here。将alpha设置为0并运行补间,您应该看到它逐渐消失。请记住,即使你淡出某些东西,它仍然在记忆中并仍然被渲染。如果它占用了合理数量的内存并且您不再需要它,请确保删除。