2010-05-14 143 views
1

我有一个扩展SWC的类,在swc中,我有两个框,前后和动画在同一时间线上。当我交换动画停止工作时,动画工作正常,无需交换。无论如何,我可以让它工作?动画在交换后停止工作

我有以下代码:

var frontTemp:DisplayObject = this.animationInstance.getChildByName("front"); 
var backTemp:DisplayObject = this.animationInstance.getChildByName("back"); 
this.animationInstance.swapChildren(frontTemp,backTemp);  
this.animationInstance.gotoAndPlay("animation"); 

回答

2

简短的回答是,你应该避免使用相同的对象既帧动画和脚本。基本上,帧动画和脚本是控制剪辑属性(位置,大小,堆叠顺序等)的两种不同方式。如果你同时使用它们,Flash没有明确的方法来知道哪一组指令应该优先。 Flash处理这个问题的方式是,一旦你使用脚本来更新某些东西,它就不再受到帧动画的影响(除非它从舞台上移除并重新添加)。

我发布了一些常规方法来解决这类问题in answer to this question - 请看看。

+0

非常感谢您的详细解答。我的问题是我有一个角色的复杂动画,我无法用脚本实现。 问题来了。当人物的手臂在胸前时。现在当角色转动时,手臂需要在胸前。除了脚本以外的任何解 – 2010-05-16 13:44:22

+0

最简单的方法是制作两层手臂,一个在胸部以上,另一个在下面,并在两者之间来回移动手臂。这会工作吗? – fenomas 2010-05-16 23:49:15

+0

这将工作,我想:D我正在寻找一个有效的解决方案:P谢谢:D – 2010-05-22 13:33:19