2013-05-12 68 views
0

在根中,我有2個按鈕,當您按下第一個按鈕時,它將轉到動畫片段內的第一幀,如果我按第二個按鈕它將轉到第二幀。Flash addChild對象消失

我在動畫片段內的第2幀中具有以下功能。

function loadMap(mapBoolean:Boolean):void{ 
    if(mapBoolean == false){ 
     var loader:Loader = new Loader(); 
     loader.load(new URLRequest("1.png")); 
     loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); 
     function loadComplete(e:Event){ 
      map_holder.addChild(loader); 
      MovieClip(root).mapLoaded = true; 
     } 
    } 
} 

var聲明:var mapLoaded:Boolean = false;

按鈕#2功能:loadMap(mapLoaded);

當我第一按下按鈕#2它關係到的movieclip第二幀,它成功地將圖像加載到保持器。然後按#1按鈕返回到第一幀,然後按#2按鈕進入第二幀,圖像消失。這是爲什麼發生?

+1

確實map_holder在第一幀中存在嗎? – Boris 2013-05-12 06:11:37

+0

當我把持有人在第一幀。有用。但是當我在它上面放置一個遮罩時,它只會顯示在第二幀中,它不會再工作。真奇怪。 – Anderson 2013-05-12 11:17:59

回答

0

兩個選項:

  • 要麼你把第1幀持有人(和其alpha設置爲0或可見爲false)
  • 或您保持您的裝載機在一個變量,聲明方法一樣mapBoolean

碼幀1

var loader:Loader; 

碼幀2

if(!loader){ 
    loader = new Loader(); 
    loader.load(new URLRequest("1.png")); 
    //no need for event listening 
} 
map_holder.addChild(loader);