0

我正在将复杂的动画从矢量转换为位图。当动画在主时间轴中时,很容易将它们转换为位图。但是,当动画中有动画时,一切都会变得非常混乱,因为我需要递归地移动所有这些播放头......

还有另一种方法可以实现这一目标吗?例如,如果我执行 MovieClip 的play方法,所有动画都表现良好,但速度太慢(我只能在应用程序中每帧转换一帧)。

4

1 回答 1

0

我认为您不应该在每一帧都栅格化影片剪辑以节省性能。它根本无法加速任何事情。想一想:Flash 渲染器已经将您的影片剪辑转换为光栅图像,因此它可以将其放在屏幕上,那么为什么要重复两次呢?

我认为您真正想要的是一种缓存渲染器已经在执行的光栅化的方法。如果是这样的话,那就很简单了。

var mc:MovieClip = new MovieClip();
mc.chacheAsBitmap = true;

该属性在DisplayObject中定义。您也可以在 Flash IDE 中执行此操作;它是Properties > Display下的一个复选框。

最后,关于何时使用它的注意事项:如果您的影片剪辑每帧都在更改,将其缓存为位图不会提高性能,因为渲染器仍然必须在每一帧都对其进行光栅化(因为它正在更改)。但是,如果您的影片剪辑对于连续的许多帧都是相同的,请继续缓存它以避免光栅化过程。

于 2011-12-23T12:39:13.900 回答