Actionscript 3 我无法在构造函数方法中引用父级

Actionscript 3 我无法在构造函数方法中引用父级,actionscript-3,Actionscript 3,我注意到,我不能在构造函数方法中引用类的父类,也不能在添加对象时引用实例化的任何方法。一定有办法解决这个问题,但由于我是oop新手,我不知道它。这是因为“父对象”指的是显示对象列表中的父对象。这意味着,只要这个对象没有作为子对象添加到其他对象,它就没有父对象,我不确定它们是否也需要添加到stage。您可以通过向构造函数添加侦听器来解决此问题: public function Browser(){ var chrome:chromeicon = new chrom

我注意到,我不能在构造函数方法中引用类的父类,也不能在添加对象时引用实例化的任何方法。一定有办法解决这个问题,但由于我是oop新手,我不知道它。

这是因为“父对象”指的是显示对象列表中的父对象。这意味着,只要这个对象没有作为子对象添加到其他对象,它就没有父对象,我不确定它们是否也需要添加到stage。您可以通过向构造函数添加侦听器来解决此问题:

public function Browser(){

                var chrome:chromeicon = new chromeicon();

                this.parent.addChild(chrome);
                chrome.y = 745;
                chrome.x = 220;



    }
然后构造一个函数:

this.addEventListener(Event.ADDED_TO_STAGE, _myFunction);

我已经在stage上添加了这样的对象:var aBrowser:Browser=newbrowser();addChild(aBrowser);这难道不意味着它现在是舞台的孩子吗?是的,它不是舞台的孩子,但看看代码。在将浏览器对象添加到后台之前,将调用浏览器对象的构造函数。因此,如果您尝试在构造函数中访问它的父级,您将得到null。语句new Browser()执行该对象的构造函数,然后才将其添加到stage。如果没有其他方法,请按照Zaroda的建议执行。如果您想访问浏览器对象的父对象,这是最好的方法。但请注意,在将对象添加到显示列表之前,构造函数代码正在执行。这意味着当它在构造函数中引用父对象时,它还没有父对象。请注意,如果您只需要父对象,而不需要处于实际阶段,则可以使用添加的
事件,而不是在将其添加到显示列表之前,显示对象没有父对象。因此,如果浏览器对象尚未添加到显示列表中,则其父对象为空。注意和建议:您并没有尝试在这里进行一些良好的实践,所以请尝试将chrmeIcon添加到浏览器对象中,或者从浏览器对象的父对象中放置它。
private function _myFunction(e:Event) :void {
    this.removeEventListener(Event.ADDED_TO_STAGE, _myFunction);
    // here you will be sure that your object has a parent that you can refer to, that will be a parent on the display list.
}