Объект Flash addChild исчезает

В корне у меня есть 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 mapLoaded:Boolean = false;

Функция кнопки № 2: loadMap(mapLoaded);

Когда я впервые нажимаю кнопку № 2, она переходит ко второму кадру в мувиклипе и успешно загружает изображение в держатель. Затем я нажимаю кнопку №1, чтобы вернуться к первому кадру, и нажимаю кнопку №2, чтобы перейти ко второму кадру, и изображение исчезает. Почему это происходит?


person Anderson    schedule 12.05.2013    source источник
comment
существует ли map_holder в первом кадре?   -  person Boris    schedule 12.05.2013
comment
Когда я помещаю держатель в первый кадр. Оно работает. Но когда я накладываю на него маску, чтобы он отображался только во 2-м кадре, он снова не работает. Это странно.   -  person Anderson    schedule 12.05.2013


Ответы (1)


два варианта:

  • либо вы помещаете держатель на кадр 1 (и устанавливаете его альфа на 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);
person Boris    schedule 13.05.2013