我有一个外部AS3类文件,它在Flash影片的第一帧上加载。
如何在不必将其作为参数传递的情况下引用AS3文件中的舞台对象?我的意思是在我看来舞台对象在全局范围内 - 或者我是否对此假设不正确?
答案 0 :(得分:0)
Stage是'stageable'对象的属性:从DisplayObject派生的每个对象都可以访问stage:Stage
属性。
因此,Movieclips和Bitmaps可以通过他们的祖先访问舞台属性。
“自动”设置对象的stage属性的方法是通过addChild()将对象添加到显示列表。
var mc:MovieClip = new MovieClip();
mc.addEventListener(Event.ADDED_TO_STAGE, func);
trace(mc.stage); //null
addChild(mc);
function func(e:Event){
mc.stage; //defined, returns reference to the parent since we added it to the display list
}
//this is how to use the listener inside the class
public class Grr extends MovieClip{
public function Grr(){
this.addEventListener(Event.ADDED_TO_STAGE, checkF);
}
public function checkF(e:Event){
//inside this function I can do whatever I want that requires stage
}
}