Flash addChild对象消失

时间:2013-05-12 02:05:25

标签: actionscript-3 flash actionscript flash-cs6

在根目录中,我有2个按钮,当你按下第一个按钮时,它会进入动画片段内的第一个帧,如果我按下第二个按钮则会进入第二个帧。

我在动画片段中的第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时,它会进入动画片段中的第二帧,它会成功将图像加载到持有者中。然后我按下按钮#1返回到第一帧并按下按钮#2转到第二帧,图像消失。为什么会这样?

1 个答案:

答案 0 :(得分: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);