我正在尝试在两种状态之间创建简单的擦除/幻灯片类型转换。类似于iphone从一个列表“滑动”到另一个列表的方式(即收件箱>邮件列表)
我似乎无法找到或找到关于如何使用2个简单的画布组件和过渡的正确文档,其中一个从屏幕向左滑动,而另一个从右侧滑入。
我使用以下代码获得了第二个“滑入”状态,但是我如何修改同时“滑出”第一个?
<mx:transitions>
<mx:Transition fromState="summaryState" toState="detailState">
<mx:Parallel target="{contentCanvas}">
<mx:WipeLeft duration="300"/>
</mx:Parallel>
</mx:Transition>
</mx:transitions>
提前致谢。
答案 0 :(得分:1)
在Adobe's site上,他们提到你应该使用和设置'fromState'和'toState'(你可以使用'*'来定义状态)。我假设你的两个简单的画布组件都处于自己的状态?如果是这样,一旦设置过渡,它应该能够发挥你的效果。此外,链接网站还提到可以按顺序或并行播放效果,这可能是获得所需效果所必需的。
修改强>
我做了一个小测试,这就是我想出来的。它似乎在我的测试中起作用,因为两个画布都是动画的。我假设您正在使用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>
进一步编辑: This也可能有用。我认为你需要做的是,让两个画布处于其中一个状态然后执行它。也许你需要稍微重新安排你的状态,以便两个画布处于一个状态,此刻我认为你将它们保持在不同的状态。
答案 1 :(得分:0)
public function 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);
}