繁体   English   中英

Flex擦除状态转换?

[英]Flex Wipe State Transitions?

我正在尝试在2个状态之间创建一个简单的划像/滑动类型过渡。 与iPhone从一个列表“滑到”另一个列表的方式类似(即“收件箱”>“邮件列表”)

我似乎无法找到或找到正确的文档,以了解如何使用2个简单的画布组件和过渡来实现此目的,其中一个滑动到屏幕左侧,而另一个滑动到屏幕右侧。

我已经用下面的代码使第二个状态“滑入”,但是如何修改以同时“滑出”第一个状态?

<mx:transitions>
    <mx:Transition fromState="summaryState" toState="detailState">
    <mx:Parallel target="{contentCanvas}">
        <mx:WipeLeft duration="300"/>
    </mx:Parallel>
    </mx:Transition>
</mx:transitions>

提前致谢。

Adobe网站上 ,他们提到您应该使用并设置'fromState'和'toState'(您可以使用'*'来定义状态)。 我假设您的2个简单的canvas组件分别处于各自的状态? 如果是这样,则一旦设置了过渡效果,它就可以发挥出您的效果。 此外,链接的站点还提到可以将效果顺序播放或并行播放,以获得所需的效果。

编辑:

我做了一个小测试,这就是我想到的。 在我的测试中,这似乎都可行,因为两个画布都是动画的。 我假设您正在使用setCurrentState(“ newState”, true )。 我希望这是您要的。

<mx:transitions>
  <mx:Transition fromState="FirstState" toState="SecondState">
    <mx:Parallel>
      <mx:WipeLeft target="{CanvasA}" duration="300"/>
      <mx:WipeRight target="{CanvasB}" duration="300"/>
    </mx:Parallel>
  </mx:Transition>
</mx:transitions>

进一步编辑: 可能也很有用。 我认为您需要做的是,将两个画布都置于一种状态,然后执行它。 也许您需要稍微重新排列您的状态,以使两个画布都处于一个状态,在此刻,我认为您已经将它们保持在单独的状态。

公共功能addTransitions():void {var transition:Transition = new Transition();
var move:Move = new Move();

  move.duration=400;
  move.targets = windowArray;

  transition.fromState = "*";
  transition.toState = "*";
  transition.effect = move;            

  // I was mising THIS line
  transitions.push(transition);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM