在Flash CPU中设置PNG文件的动画

时间:2012-07-18 18:02:26

标签: flash actionscript

我有一个PNG文件1024 x 768.除此之外,我还有其他较小的PNG文件,可以通过ENTER_FRAME处理程序“滑入”(仅沿着x和y移动)?

我只是想知道,动画PNGS需要比基本矢量形状更多的CPU吗?有什么我可以做的来优化我的动画吗?

它实际上就像:

private function onEnterFrame(e:Event):void {
  myPng.x += speed; // and so on
}

另外,如果我将PNG放在MovieClip中,我应该将MovieClip“cacheAsBitmap”设置为true还是如果我将PNG文件放入其中就暗示了?

2 个答案:

答案 0 :(得分:1)

CPU使用率很大程度上取决于向量的复杂性。简单矢量可能比大位图更快地生成动画,但复杂矢量的动画要慢得多 - 除非cacheAsBitmap对于该复杂矢量为真。你的PNG已经是位图,所以cacheAsBitmap与它们无关。

您最好选择轻松优化,以确保您尽可能使用GPU加速。如果你需要更高的性能,那就更好了,就是利用flash player 11的本机3d支持。即使不进行实际3D操作,您也可以使用像starling(http://gamua.com/starling/)这样的2D框架,它仍然可以利用3D支持,为您提供更好的性能。

答案 1 :(得分:0)

实际上恰恰相反。考虑一下:

  • PNG /位图图片,作为要在屏幕上显示的数据块。
  • 矢量图像,作为生成要在屏幕上显示的数据块的公式。

现在想想你想做什么。您想要移动图像,绝对不会改变数据块。明显的答案是PNG。

现在关于优化。除非您考虑blitting and caching结果,否则我相信您在此任务中的优化空间非常小。

Blitting&缓存movieclip只是从内存中读取位图表示(数据块)并重新绘制它,从而减少了读取PNG的开销。但除非你的当前方法确实存在一些性能问题,否则我不会考虑麻烦。