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