代码之家  ›  专栏  ›  技术社区  ›  FlyingCat

flex 4动画问题

  •  0
  • FlyingCat  · 技术社区  · 15 年前

    我正在尝试对嵌套在垂直布局中的按钮执行垂直移动动画。我不确定H组是否限制按钮垂直移动。有办法绕过它吗?谢谢你的帮助。

    <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 回复  |  直到 15 年前
        1
  •  1
  •   RJ Owen    15 年前

    默认情况下,hgroup将其所有元素都限制在一个垂直布局中。它们可以通过 verticalAlign property of the HGroup 但都会有相同的排列。

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

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

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

    推荐文章