如何在非文档类的类中访问舞台上的显示对象?
我正在寻找一种不涉及将舞台作为参数传递给班级的解决方案。
我经常遇到的一个解决方案是使用“TopLevel.as”。这是一个很好的方法,因为据我所知,使用global variables is not recommended因为在处理大型项目时可能会出现一些问题。
答案 0 :(得分:1)
所有显示对象在添加到显示列表时都会调度addedToStage事件,从而为您提供对该阶段的引用。所以你可以这样做:
// In the constructor
addEventListener(Event.ADDED_TO_STAGE, onAdded);
// A class level function
private function onAdded(e:Event):void {
// get reference from stage, eg:
// stage.getChildByName("nameHere");
}
无需使用“顶级”类,它依赖于全局(即:静态)属性。