我创建了这个简单的类(省略包指令和导入)
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 中的编译器重现此行为,以便我可以直接访问施工阶段。