Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ActionScript将子级添加到类中的阶段_Php_Actionscript 3_Oop_Class_Addchild - Fatal编程技术网

Php ActionScript将子级添加到类中的阶段

Php ActionScript将子级添加到类中的阶段,php,actionscript-3,oop,class,addchild,Php,Actionscript 3,Oop,Class,Addchild,我正试图通过addChild()方法将一个对象添加到我的主阶段。通常,在FLA内部工作时,使用addChild(myObject)工作正常。但是,它在外部AS类中不起作用 我找到的所有其他教程都向我展示了如何做类似的事情,这不是我需要的: var myMovieClip:MovieClip = new MovieClip(); myMovieClip.addChild(myObject); // Works great, but not what I need 有人能告诉我如何通过外部AS类将

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

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

var myMovieClip:MovieClip = new MovieClip();
myMovieClip.addChild(myObject); // Works great, but not what I need
有人能告诉我如何通过外部AS类将对象添加到我的主舞台吗


感谢您的时间。

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

stage.addChild(myObject);
编辑-添加示例

下面是一个扩展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”的类):


你已经试过以下方法了吗

stage.addChild(myObject)

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

在他的例子中,重要的是:

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

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

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

Hmm。。。这似乎有点困难,因为这个类已经扩展了EventDispatcher,我真的希望避免实现它,因为我需要扩展MovieClip。还有其他的解决办法吗?你的班级在扩展什么?你犯了什么错误?如果类的实例已添加到显示列表中,您应该能够访问上面提到的阶段…它不需要是document类。是的,my类扩展了EventDispatcher。我对AS3比较陌生,那么,“添加到显示列表”是什么意思呢?EventDispatcher类没有对stage的引用,所以您需要将一个引用传递给它…通过在构造函数中设置公共变量或参数。然后,当你实例化你的类时,你可以传递stage引用。我认为最好是直接在答案中添加关于传递stage引用的信息。
private var _stage:Stage;
public function MyClass(stage:Stage) {
_stage = stage;

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