ActionScript将Child从类添加到阶段


ActionScript AddChild to Stage from Class

我正试图通过addChild()方法将一个对象添加到我的主阶段。通常,在FLA内部工作时,使用addChild(myObject)工作得很好。但是,它在外部AS类中不起作用。

我找到的所有其他教程都向我展示了如何做这样的事情,这不是我需要的:

var myMovieClip:MovieClip = new MovieClip();
myMovieClip.addChild(myObject); // Works great, but not what I need

有人能告诉我如何通过外部AS类将对象添加到我的主舞台中吗。

谢谢你抽出时间。

如果这是您的文档类或具有有效阶段引用的类,则可以使用:

stage.addChild(myObject);

EDIT-添加了示例。

下面是一个扩展EventDispatcher并传递"stage"参数的示例类。

第一类:

package {
    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.events.EventDispatcher;
    public class MyClass extends EventDispatcher {
        private var _stage:Stage;
        public function MyClass(stage:Stage) {
            _stage = stage;
            var mc:MovieClip = new MovieClip();
            _stage.addChild(mc);
        }
    }
}

用法(假设这来自一个引用了"stage"的类):

var obj:MyClass = new MyClass(null, this.stage);

您是否已经尝试过以下操作?

stage.addChild(myObject)

Corey的方法有效。您不需要像他在示例中那样扩展EventDispatcher。

在他的例子中重要的是:

private var _stage:Stage;
public function MyClass(stage:Stage) {
_stage = stage;
var mc:MovieClip = new MovieClip();
 _stage.addChild(mc);
}

注意他是如何使用_stage变量引用它的。