如何从 Flash 中的 MovieClips 中获取多边形?

Posted

技术标签:

【中文标题】如何从 Flash 中的 MovieClips 中获取多边形?【英文标题】:How do you get Polygons from MovieClips in Flash? 【发布时间】:2012-10-05 22:48:32 【问题描述】:

我有一个动作脚本,它读取 swf 并通过其中的影片剪辑。

影片剪辑应该是简单的形状。我想将这些影片剪辑中的数据转换为多边形。换句话说,我想要一系列代表影片剪辑上形状的坐标。

【问题讨论】:

【参考方案1】:

没有简单的方法可以做到这一点。将形状绘制到舞台后,您可以访问的唯一图形信息是渲染的像素位图;所有矢量信息都丢失了。

要将形状转换为多边形,您必须分析存储在 SWF 文件中的 ActionScript 字节码(查找并提取包含矢量绘图信息的字节,并使用它在代码中重新创建形状),或者使用位图中的颜色信息来跟踪形状(您可能猜到,这永远不会完全准确)。

无论如何,这都不是一项简单的任务。

【讨论】:

嗯。你知道如何访问位图吗?另外,我正在使用这个库:github.com/claus/as3swf 来尝试分析 SWF 文件中的信息。有什么方法可以查看特定动画剪辑的矢量图像吗? 访问像素很简单:新建一个所需大小的 BitmapData 对象,然后使用BitmapData#draw() 渲染像素数据。那个图书馆看起来很有希望,但恐怕我还没有尝试过。为什么不直接给作者发消息?也许他愿意帮忙。 ;)

以上是关于如何从 Flash 中的 MovieClips 中获取多边形?的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 Flash as3 中的阶段

hitTestObject not hitTesting with all MovieClips

Flash Actionscript 3.0 影片剪辑过渡(无按钮)

如何通过 XMLUI 从 JSFL 中的 Flash 创作中获取值?

如何从 Flash 中的类中命名 Movieclip 中的 Movieclip?

如何从从 Flash 文件创建的 swiffy 中输入 html5 中的链接信息?