Flex 4动画问题

时间:2010-06-18 04:14:31

标签: flex animation state

我正在尝试在垂直布局中嵌套的按钮上垂直移动动画。我不确定Hgroup是否限制按钮垂直移动。有办法解决它吗?谢谢你的帮助。

<s:states>
<s:State name="default"/>
<s:State name="addRecommend"/>
<s:State name="seeOther"/>
</s:states>


AS:

protected function add_clickHandler(event:MouseEvent):void
{
currentState="addRecommend";
addRecommendMove.play();
}





<s:transitions>
<s:Transition fromState="default" toState="addRecommend">
<s:Sequence id="addRecommendMove">
<s:Move yTo="50" target="{add}"/>  // add button doesn't move at all
</s:Sequence>
</s:Transition>
<s:Transition fromState="addRecommend" toState="seeOther">
<s:Sequence>
<s:Move yBy="50" target="{seeOthers}"/>
</s:Sequence>
</s:Transition>
</s:transitions>




<s:layout>
<s:VerticalLayout paddingTop="15" paddingRight="10" paddingLeft="7"/>
</s:layout>


<button id="add" click=add_clickHandler(event)/>
<button id="seeOthers"/>

1 个答案:

答案 0 :(得分:1)

默认情况下,HGroup会将其所有元素垂直限制为单个布局。它们可以通过verticalAlign property of the HGroup对齐,但都具有相同的对齐方式。

要使按钮完全自由移动,请将其嵌套在具有基本布局的普通组中。这相当于flex 3中的画布,意味着您必须指定该容器中每个元素的x和y坐标。

您的另一个选择是将按钮嵌套在具有基本布局的组中,并将该内容放在HGroup内。使内部组足够高,以便您的动画播放。通过这种方式,您可以保留您从HGroup获得的任何优势,但仍然可以设置按钮位置的动画。

希望有所帮助 - 如果不够,请发布完整的来源,我可以尝试为您提供更完整的答案。