如何提取MovieClip的形状?

时间:2012-08-15 15:48:23

标签: actionscript-3 flash movieclip

我们正在计划转换为javascript的Flash应用程序。这是一个非常简单的地图应用程序,以图像为背景,以及一组简单的多边形影片剪辑,代表地图上的目的地。

我想迭代每个影片剪辑并将形状提取为x,y点数组,以使用外部javascript函数重绘多边形。

这可以用actionscript吗?

3 个答案:

答案 0 :(得分:2)

如果你想在作者时间导出形状坐标,你可以尝试@strille或this one推荐的JSFL脚本或导出透明图像(如果这对你的应用程序没有太大的限制)。

如果需要在运行时导出形状,可以使用awesome as3swf库来反编译swf并导出形状。看看ShapeExport wiki,因为有很多方便的出口商可以使用像 JSCanvasShapeExporter 这样的js,而更通用的 JSONShapeExporter

答案 1 :(得分:0)

Flash Player 11.6引入了readGraphicsData(),它完全符合您的要求。

如果您需要定位早期版本,那么很遗憾没有简单的方法可以在运行时使用ActionScript从显示对象读取形状坐标。

如果你只是想在有人写了jsfl script for Flash CS3之后提取形状坐标,看起来它可能会帮助你。

答案 2 :(得分:0)

您可以通过多种方式从SWF中读取坐标。例如,我用PHP编写了一个解析器(link)。事实证明,获取数据并不会有所帮助。 Flash绘图模型与HTML5的不同之处足以使转移变得非常困难。我发现的主要障碍是,在Flash中,路径可以填充两种填充样式:一种用于路径包围的区域,另一种用于被认为是"外部"通过奇偶规则(例如,在恒星中间的五边形)。由于HTML5画布允许您只指定一种填充样式,因此无法准确地从Flash重绘形状。我试图创建一个工具,将形状提取为SVG,并在结果中得到很多差距和漏洞。