載入使用了Stage的swf

對於使用了Stage的swf,只是單純的用loader加載當complete事件完成時,同時也會觸發空引用的報錯

一般的解決辦法是針對被載入的swf

在初始化之前

package {
 import
Flash.display.Sprite;
 import
Flash.events.Event;

 public class StageListener extends Sprite
 {
  public function StageListener()
  {
   this.addEventListener(Event.ADDED_TO_STAGE,addToStageHandle);
  }
  
  private function addToStageHandle(e:Event):void {
   //your init code
  }

 }
}
這樣可以確保stage不爲空

 

對於不修改被載入的swf的解決辦法,我想到是利用ApplicationDomain來控制加載域,但是試了幾次都沒有成功。

--------------------------------------測試成功的用法是

 

var kk =new Sprite();
 addChild(kk);
 stage.focus = kk;

 

kk.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);

 

這樣就ok了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章