为什么我不能在具有另一个类中的实例的类中创建实例?

时间:2011-05-19 06:35:49

标签: actionscript-3 textfield movieclip runtime-error

我尝试在我的应用中放置一个计数器显示器。我使用了一个使用基本字体(_sans)的动态TextField。我没有嵌入任何字体,因为它适用于我以前的测试程序。我插入了代码,该代码将在我生成网格的同一个类中显示计数器。

这是运行前的图像。

My MovieClip at editing

这是运行时的图像。顺便说一下,我还添加了另一个带有SUBMIT的MovieClip,也没有显示。

This is frustrating!!!

作为后续行动:

我创建了一个类Central,它构成了网格的实例。

var d:Grid = new Grid();
// After some x and y modifications...
addChild(d);

在我解决TextField显示问题之前,上面的相同代码(为计数器重做了)在Grid类中。

var gTime:gTimer = new gTimer();
// Again, x and y...
addChild(gTime);

我将上面的代码移到了Central类,并且它有效。为什么它在Grid类内部无效?

Central Class类移动代码后,这是Grid的构造函数:

    private var d:Grid;
    private var gTime:gTimer; //This and below are from Grid class previously.
    private var SubmitButton;

public function Central()
    {
        d = new Grid();
        d.x = 47;
        d.y = 0;
        d.scaleY = -1;
        d.y += d.height;
        addChild(d);

        var submitB:Class; // From here to end, is the moved code.
        submitB = Submit;
        SubmitButton = new submitB;
        SubmitButton.x = 380;
        SubmitButton.y = 30;
        addChild(SubmitButton);
        SubmitButton.addEventListener(MouseEvent.CLICK, d.countHighlight);
        // The listener is updated to access d's countHighlight method.
        gTime = new gTimer();
        gTime.x = 380;
        gTime.y = 150;
        addChild(gTime);
    }

现在这里是Grid

public function Grid()
    {
        // constructor code
        IndexArray = new Array; // Logically uses an Array...
        Score = new Array;
        Score[0] = 0;
        Score[1] = 0;
        Score[2] = 0;
        Highlights = new Array;

        for(var ctr:int = 0; ctr < 10; ctr++)
        {
            IndexArray[ctr] = new Array(); // With a stack in each slot...
        }

        TestFillUp(); // Filler Method
    }

在移动代码之前,上面的场景发生了(没有动态TextFields),但是当我将它移动到Central时,它会出现......

0 个答案:

没有答案