我在舞台上有很多单帧动画片段。
其中一些是使用flash中的矢量形状绘制的。
其中一些是从外部.png文件加载的位图。请注意,在这种情况下,显示对象的类型是形状,而不是位图类型。
我想将包含矢量形状的动画片段导出到svg文档。以及将bitmap映射到bitmapData的动画片段。
问题是我无法区分动作中的2。
使用AS Linkage将形状转换为Bitmap类型时,我只取得了成功。然而,这并不理想,因为我们必须手动检查所有动画片段。有没有办法区分矢量形状和位图形状?
答案 0 :(得分:0)
我找到了解决方案。 确保其中没有GraphicsBitmapFill就足够了我的用例
for(var i :int = 0; i < target.numChildren; i++) {
var s:Shape = target.getChildAt(i) as Shape;
if (s) {
var g:Vector.<IGraphicsData> = s.graphics.readGraphicsData();
for(var j:int = 0; j < g.length;j++) {
var bitmap:GraphicsBitmapFill = g[i] as GraphicsBitmapFill;
if (bitmap) {
hasBitMapChildren = true
}
}
}
}