我无法播放由以下代码定义的并行效果:
var parallel:Parallel=new Parallel();
var E1:WipeDown=new WipeDown();
var E2:WipeLeft=new WipeLeft();
parallel.addChild(E2);
parallel.addChild(E1);
parallel.duration=2000;
parallel.target=this;
parallel.play();
通过调用effect()函数播放效果时,只播放效果E1。 如果代码是:
parallel.addChild(E1);
parallel.addChild(E2);
而不是:
parallel.addChild(E2);
parallel.addChild(E1);
然后只有效果E2被播放..
总结只有最重要的儿童效果才会被播放..
任何人都可以提出解决方案......
<code>
<mx:Parallel target="{this}" id="wipeDownLeft" duration="2000">
<mx:WipeDown target="{this}" duration="2000"/>
<mx:WipeLeft target="{this}" duration="2000"/>
</code>
如果以上代码不清楚,可以查看此应用程序(复制代码并运行)
code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="1024" minHeight="768" xmlns:ns1="*">
<mx:Canvas id="C" creationComplete="{E.play()}" width="50%" height="50%" backgroundColor="#387C44">
</mx:Canvas>
<mx:Parallel id="E" duration="2000">
<mx:WipeLeft duration="2000" target="{C}"/>
<mx:WipeDown duration="2000" target="{C}"/>
</mx:Parallel>
<mx:Button click="E.play([C])" x="{C.width+10}" y="{C.height+10}">
</mx:Button>
</mx:Application>
答案 0 :(得分:0)
也许尝试为每个子效果设置目标属性? 在持续时间内这样做可能不会受到伤害......
我只使用了mxml中的效果,这就是我如何总是这样做(与doc示例相同?) - 实际上甚至已经完成了你在这里尝试的双重擦除,但不是在AS ...
[编辑] - 我看不到你的mxml,除非我进入编辑模式,但我无法提交编辑 - 使用代码标签...
但同样,请指定不是并行的孩子的目标和持续时间......
答案 1 :(得分:0)
我认为,原因是,WipeLeft和WipeDown是相互排斥的效果。但必须并行执行。如果你更换一个,那么它将是工作。或者,如果您将WipeLeft(或WipeDown)效果替换为其他效果,请使用f.ex.那么它也会起作用。