Adobes AS3-“核心库”如何运作?

时间:2012-04-05 06:35:29

标签: flash actionscript actionscript-3 avm2

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

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

例如,当我输入:

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

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

谢谢!

3 个答案:

答案 0 :(得分:2)

我的建议是编译一些简单的东西(比如你上面的内容),然后运行它来转储abc(Actionscript Byte Code),这是在虚拟机中执行的代码。

您可以尝试abcdumpswf2abc项目。

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

答案 1 :(得分:2)

我同意@ sberry关于查看一些字节代码的建议。

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

答案 2 :(得分:2)

以下video对于了解渲染在Flash中的工作原理非常有用。

由于Shape绘制了矢量图形,我可以想象当您调用drawCircle()时会发生的情况与视频中解释的完全相同。