0

我创建了这个简单的类(省略包指令和导入)

public class Viewer extends Sprite {
    public function Viewer():void {
         trace(stage);
    }
}

然后在 Flash IDE 中,我在第一帧中导入这个 AS:

import Viewer
var viewer = new Viewer();
stage.addChild(viewer);
trace(viewer.stage);

这正如我预期的那样工作:在构造函数中调用的第一个跟踪说阶段是“null”,因为我还没有将查看器添加到 DisplayObjectContainer。第二个输出舞台对象。

所以我使用 AXDT eclipse 插件创建了一个项目,我只重新创建并编译了第一个类(因为不需要,所以在 Flash IDE 中使用了 AS init 脚本)并且在第一个跟踪中......哇......舞台是充满舞台对象。

在我看来,AXDT(Flex4 SDK 开源)使用的编译器在构造它之前添加了类......(!?)......到已经附加到舞台的 DisplayObjectContainer。

我想了解如何使用 Flash IDE 中的编译器重现此行为,以便我可以直接访问施工阶段。

4

1 回答 1

2

stage在调用构造函数之前在文档类中定义。由于您编译Viewer为 Document 类,因此会发生这种情况。

于 2010-04-30T15:25:10.500 回答