1

我正在尝试通过该addChild()方法将对象添加到我的主舞台。通常,在 FLA 内部工作时,使用addChild(myObject)就可以了。但是,它在外部 AS 类中不起作用。

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

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

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

感谢您的时间。

4

3 回答 3

2

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

stage.addChild(myObject);

编辑 - 添加示例。

这是一个扩展 EventDispatcher 并传递“阶段”参数的示例类。

首先,类:

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);
        }
    }
}

以及用法(假设这是来自引用“阶段”的类):

var obj:MyClass = new MyClass(null, this.stage);
于 2011-05-31T20:37:32.430 回答
0

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

stage.addChild(myObject)
于 2011-05-31T20:37:41.557 回答
0

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

在他的例子中重要的是:

private var _stage:Stage;
public function MyClass(stage:Stage) {
_stage = stage;

var mc:MovieClip = new MovieClip();
 _stage.addChild(mc);
}

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

于 2013-09-01T09:31:04.830 回答