Flex动画问题

时间:2010-07-05 14:41:11

标签: flex animation

我正在尝试做一个简单的动画。我想淡入并在createcomplete中调整List的大小。我的问题是我总是可以在元素动画开始之前看到元素闪现。换句话说,用户将看到元素出现1秒 - >然后淡入并调整动画大小。我希望这里有人可以帮助我。感谢...

我的代码。

AS

protected function compList_creationCompleteHandler(event:FlexEvent):void
{

     compinfoResult.token = getCompList.compinfo();
     compinfoResult.addEventListener(ResultEvent.RESULT, completeLoading);

     function completeLoading(event:ResultEvent):void{

     fadeList.play();   //the animation will fire when the List get the result from the server...
     scaleList.play();

}
}

mxml


    <s:Scale id="scaleList" scaleXFrom="0" scaleXTo="1" scaleYFrom="0"
    scaleYTo="1" duration="500" target="{compList}" />
    <s:Fade id="fadeList" alphaFrom="0" alphaTo="1" target="{compList}" />


    <s:List id="compList"
    width="280"
    height="560"
    x="0"
    y="0"
    alpha="0"
    creationComplete="compList_creationCompleteHandler(event)"
    itemRenderer="itemRenderer.compListItemRenderer"
    change="compList_changeHandler(event)"/>

1 个答案:

答案 0 :(得分:1)

首先,我会根据您的喜好并行或按顺序将这些转换组合成一个转换:

<s:Sequence id="effectSequence">
  <s:Scale id="scaleList" scaleXFrom="0" scaleXTo="1" scaleYFrom="0"
scaleYTo="1" duration="500" target="{compList}" />
  <s:Fade id="fadeList" alphaFrom="0" alphaTo="1" target="{compList}" />
</s:Sequence>

然后,我不会尝试使用事件手动触发此操作。请改用效果,在这种情况下,我建议使用creationCompleteEffect

 <s:List id="compList"
    width="280"
    height="560"
    x="0"
    y="0"
    alpha="0"
    creationComplete="compList_creationCompleteHandler(event)"
    itemRenderer="itemRenderer.compListItemRenderer"
    change="compList_changeHandler(event)"
    creationCompleteEffect="{effectSequence}"`/>