AS3:trace语句在继承者的构造函数中不起作用

时间:2013-08-05 12:32:11

标签: actionscript-3 constructor

我最近成为AS3中一个重要项目的一部分,该项目已经开展了几年,并且是一个包含大量代码的相当大的项目,它让我陷入了一些我无法理解的问题。它是关于两个类,其中一个是另一个类的“超级”类,从现在开始我将其称为“继承者”。它看起来像这样:

继承/超类:

public class TVset
{
    public function TVset()
    {
        trace("I am the super class", this);
    }
}

继承者类:

public class Brand1 extends TVset
{
    public function Brand1()
    {
        trace("I am the inheritor", this);
    }
}

现在,我知道如果我写这段代码

var aNewTV:Brand1 = new Brand1();

这是我们通常期望的输出

I am the super class, [class Brand1]
I am the inheritor, [class Brand1]

但我只能

I am the super class, [class Brand1]

继承者的构造函数中的所有代码都没有被执行,但它确实称它为超类。有没有人知道为什么会发生这种情况?

2 个答案:

答案 0 :(得分:0)

有时如果代码中有错误,它将停止从该点读取代码而不是结束程序。我要做的是将trace语句从超类的开头移到结尾,看看它是否不再跟踪。然后使用该方法,您可以上下移动它,直到找到程序停止运行的确切行。

这个方法解决了我的一些问题,我希望这对你有帮助。

注意:有时会出现编译器不会接收的错误,这就是我使用它的地方。

答案 1 :(得分:0)

您可能会遇到阻止预期结果的运行时错误。我感觉我们没有看到一切。

修复运​​行时错误,这应该按预期工作。