1. 程式人生 > >TypeError: Error #1009: 無法訪問空物件引用的屬性或方法。(解決)

TypeError: Error #1009: 無法訪問空物件引用的屬性或方法。(解決)

細部分析和總結:
由於主SWF和子SWF單獨執行都沒有問題,一旦要求主SWF載入子SWF的時候就報找不物件或者屬性這個問題.導致子SWF不能順利執行.
原因在子SWF的stage屬性上. 單獨執行的子SWF的時候,例項已經處於舞臺上.所以子SWF的stage屬性是事實存在的.所以在子SWF類建構函式中引用stage屬性是正常的.但是一旦被主SWF載入的時候.主SWF還沒有來得及addChild(子SWF),導致子SWF的stage屬性為null.在過建構函式中引用值為null的stage導致錯誤發生.以至於不能正常載入.

=========
解決這個問題辦法:
      在子SWF類建構函式中加入(紅色)
//舉例code:
//===============
package{
    import flash.display.MovieClip;
    import flash.events.Event;
    public class  testClass extends MovieClip{
            public function testClass():void
            {
            this.addEventListener(Event.ADDED_TO_STAGE,onStageHandler);

            }
              priatve function onStageHandler(evt:Event)
                {
                init()
                this.removeEventListener(Event.ADDED_TO_STAGE,onStageHandler);
                }
                priatve function init():void
               {
                //子SWF的主體構CODE放這裡.
              //對stage屬性的引用
              }
    }//endclass
}//endpackage