1

首先,我无法决定我应该在这里还是在“程序员”问这个,请温柔;)

我想知道在我称之为 AS3 的“核心库”的内部发生了什么(是的,在这种情况下这可能不是确切的术语,但现在你知道我的意思了)。

例如,当我输入:

var shape:Shape = new Shape();
shape.graphics.beginFill( 0xff0000 );
shape.graphics.drawCircle( 100, 100, 100);

...图形对象中究竟发生了什么?我假设它将调用 AVM2 的渲染 API,但这看起来如何?有什么办法可以查看它,或者这些资源是否对 Adob​​e 以外的任何人完全关闭?

谢谢!

4

3 回答 3

2

我的建议是编译一些简单的东西(就像你上面所说的那样),然后通过一些东西运行它以转储 abc(Actionscript 字节码),这是在虚拟机中执行的代码。

您可以尝试abcdumpswf2abc项目。

首先阅读一些非常简单的字节码,看看你的想法:)

于 2012-04-05T07:06:09.307 回答
2

我同意@sberry 的建议,即查看一些字节码。

但在此之前,您可能需要查看AVM2 wiki

于 2012-04-05T07:26:51.763 回答
2

下面的视频对于理解 Flash 中的渲染是如何工作的非常有价值。

由于Shape绘制矢量图形,我想当你打电话时发生的事情drawCircle()几乎就是视频中解释的内容。

于 2012-04-05T08:53:05.710 回答