無法取存 null 的參考屬性或方法 這大概是 AS3 最常出現的 error 最容易發生在 stage 的屬性使用 所有的 DisplayObject 物件都有 parent(上一層的容器) root(該swf的最上一層容器) stage(唯一的 Stage 類別) 但這三個屬性一開始都是 null 一定要當該可視物件被加入到清單裡, 屬性才會有值 var _mc:MovieClip = new MovieClip(); _mc.parent; _mc.root; _mc.stage; //通通都是 null var _spr:Sprite = new Sprite(); _spr.addChild(_mc); _mc.parent; //可以得到 _spr物件, 因為被加入了 //但root和stage還是null //this是主時間軸 this.addChild(_spr); //這時_mc.root, _mc.stage才會有值。 而在寫 Class 時也一樣 package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public function Main() { trace(stage); //如果直接執行該swf, stage是有值的 //但如果是被載入, stage一開始是null //要避免這樣的問題, 就直接偵聽 AddedToStage 事件即可 if (stage) init(null); else addEventListener(Event.ADDED_TO_STAGE , init); } private function init(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); //把要做的事寫在這兒 //這樣就可以確保 stage 屬性一定有值 } } }