我正在尝试通过addChild()
方法将对象添加到主舞台。通常,在FLA本身内工作时,使用addChild(myObject)
可以正常工作。但是,它在外部AS类中不起作用。
我找到的所有其他教程都向我展示了如何做这样的事情,这不是我需要的:
var myMovieClip:MovieClip = new MovieClip();
myMovieClip.addChild(myObject); // Works great, but not what I need
有人可以告诉我如何通过外部AS类将对象添加到主舞台。
感谢您的时间。
答案 0 :(得分:2)
如果这是您的文档类或具有有效阶段引用的类,则可以使用:
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'的类):
var obj:MyClass = new MyClass(null, this.stage);
答案 1 :(得分:0)
您是否已尝试以下操作?
stage.addChild(myObject)
答案 2 :(得分:0)
Corey的方法有效。您不需要像在他的示例中那样扩展EventDispatcher。
他的例子中重要的是:
private var _stage:Stage;
public function MyClass(stage:Stage) {
_stage = stage;
var mc:MovieClip = new MovieClip();
_stage.addChild(mc);
}
注意他如何使用引用它的_stage变量。