【问题标题】:Animation stops working after swapping交换后动画停止工作
【发布时间】:2010-05-14 12:49:28
【问题描述】:

我有一个扩展 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");

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

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

    我发布了一些解决此类问题的一般方法in answer to this question - 请看一下。

    【讨论】:

    • 非常感谢您的详细回答。我的问题是我有一个角色的复杂动画,这是我无法用脚本实现的。问题来了。当角色的手臂在胸前时。现在当角色转身时,手臂需要放在胸部后面。除了脚本还有其他解决方案吗?
    • 最简单的方法是为手臂制作两层,一层在胸前,一层在胸下,手臂在它们之间来回移动。这行得通吗?
    • 我想这会起作用 :D 我正在寻找一个有效的解决方案 :P 谢谢 :D
    猜你喜欢
    • 2012-05-23
    • 2016-03-29
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2014-11-25
    • 1970-01-01
    相关资源
    最近更新 更多