我开发了一个跨平台的AIR应用程序,由于动画/使用矢量图形而不是位图资源导致移动设备严重不足。使用cacheAsBitmapMatrix / cacheAsBitmap更好,在何时何地适当分配,但仍然没有使用位图资产那么快。
我试图在运行时将矢量图形bitmapData.draw()转换为Bitmap对象,并改为对位图对象进行动画制作,但这只能执行与缓存矢量相同的(或者甚至可能完全相同)图形作为位图。
Flash Professional 5.5用户界面现在能够将矢量图形转换为位图资源,但是可以在运行时执行此操作吗?有没有可能有一个实际的Rasterize()例程来转换编程绘制的矢量图形,甚至可以在运行时将可编辑的文本转换为位图,以获得最佳的动画性能,尤其是在移动设备上?
答案 0 :(得分:0)
当你说你尝试动画位图时,我希望你并不是说你正在旋转/调整位图的大小 - 因为这是一个缓慢的过程。
也许有一个引擎在游戏加载时,根据MovieClip中的帧(如果有动画)为你创建一个精灵表。然后这些可以由BitmapData.copyPixels()
引用。
这只是:
sheets["zombie1"]
您甚至可以在for循环中旋转对象并将旋转的对象绘制到工作表上。
然后您的SheetObject
将只有加载以前定义的工作表的一部分并显示它的方法。
这一切都在正确的轨道上吗??