从类添加到main上的容器

时间:2014-06-07 07:04:17

标签: actionscript-3 flash class containers

我已经在这工作了一个小时,我无法得到它。我试图将一个对象添加到一个类的主时间轴上的容器中。每当我尝试这样做时,它允许我运行游戏,但会给我一个输出错误:

ReferenceError: Error #1069: Property container not found on flash.display.Stage and there is no default value.

以下是我的主要代码:

var dotContainer:MovieClip = new MovieClip;
stage.addChild(dotContainer);

以下是我班级的代码:

package  {
    public class dotMaker extends MovieClip 
    {
         var dot:MovieClip = new Dot;
         Object(root).dotContainer.addChild(dot);
    }
}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

由于您正在使用课程,因此您不知道您已添加到舞台中的内容。所以你应该使用name属性并得到它:

var dotContainer:MovieClip = new MovieClip;
dotContainer.name = 'dotContainer';
stage.addChild(dotContainer);


package  {
    public class dotMaker extends MovieClip 
    {
        var dot:MovieClip = new Dot;
        (Object(root).getChildByName('dotContainer') as DisplayObjectContainer).addChild(dot);
    }
}

你应该知道这些事情不是很好。最好像这样使用它:

public class dotMaker extends MovieClip {
    var _container:DisplayObjectContainer;

    public function dotMaker(container:DisplayObjectContainer) {
        _container = container;
        _container.addChild(new Dot());
    }
}

所以将容器传递给这个类,以便它可以使用它。 另一个奇怪的是你不使用构造函数?