如何动态更改时间轴动画蒙版的宽度/位置?

时间:2010-01-27 14:56:45

标签: flash actionscript-3 cs4

我有一个带有两个图层的动画片段 - 一个背景动画片段,上面是一个蒙版动画片段(正如你猜测的那样,这个图层掩盖了第一个)。由于设计的必要性,掩模在60帧的时间轴上进行动画处理。

当我使用Event.RESIZE侦听器在调整浏览器窗口大小时更改父动画片段的宽度时出现问题。任何引用掩码的代码,即

parentMC.contentMask.width = stage.stageWidth; parentMC.contentMask.x = frame.width/2 - frame.contentMask.width/2;

简单地导致蒙版动画完全没有播放。有没有解决这个问题的方法(我已经搜索了很多网站,但是我可能忽略了一些非常明显的东西)。

非常感谢。

1 个答案:

答案 0 :(得分:0)

你没有忽视任何明显的东西。不幸的是,你不能通过代码影响补间的时间轴。但是有一种方法可以解决这个问题。您需要将时间轴补间蒙版放在另一个动画片段中。这样做的缺点是你不能再擦洗时间线来看到效果了。但是,至少这种方法是有效的。如果这没有意义,请告诉我。从我的手机打字所以不能解释我应该的那么好。

修改

好的,为了更好地解释(现在在计算机上),您需要将补间嵌套在另一个动画片段中。因此,您的补间实际上将在另一个非补间动画片段中,并在第一帧停止。当您想要显示补间时,您需要执行类似mask_mc.play()的操作。现在你可以做一些事情,比如mask_mc.width = 500;等等。