2010-06-18 89 views
0

我想在嵌套在垂直佈局中的按鈕上做垂直動畫。我不確定Hgroup是否限制垂直移動的按鈕。有沒有辦法解決它?感謝您的幫助。Flex 4動畫問題

<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

默認情況下,HGroup會將其所有元素垂直限制爲單個佈局。它們可以通過verticalAlign property of the HGroup對齊,但都將具有相同的對齊方式。

爲了讓按鈕完全自由地移動,將其嵌套在具有基本佈局的正常組內。這相當於flex 3中的畫布,意味着您必須指定該容器中每個元素的x和y座標。

您的其他選擇是將您的按鈕嵌套在基本佈局的組內,並將該東西放置在HGroup中。使內部組足夠高,讓您的動畫可以播放。通過這種方式,您可以保持從HGroup獲得的任何優勢,但仍可以爲按鈕的位置設置動畫。

希望有幫助 - 發佈完整的來源,如果它不夠,我可以嘗試爲您提供更完整的答案。

+0

謝謝奧恩,我得到了你所說的,我會努力。 – FlyingCat 2010-06-18 21:45:23