如何在外部actionscript文件中引用stage对象?

时间:2011-10-14 11:42:05

标签: flash actionscript-3 oop

我有一个外部AS3类文件,它在Flash影片的第一帧上加载。

如何在不必将其作为参数传递的情况下引用AS3文件中的舞台对象?我的意思是在我看来舞台对象在全局范围内 - 或者我是否对此假设不正确?

1 个答案:

答案 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
     }
}