Изменить размер сцены причина ошибки - Flash CC

У меня есть приложение с 2 сценами, первая сцена содержит 4 мувиклипа, которые помещаются вручную в сцену, каждый мувиклип имеет имя экземпляра (mc1,mc2..mc4), и я создаю массив с этими объектами var arr:Array = [mc1..mc4]; Я добавляю им прослушиватель событий мыши для каждого (var i in arr){ i.addEvent...mouse.click)};

В этой сцене у меня также есть кнопка "следующая сцена", которая имеет этот код: nextScene();Во второй сцене у меня есть одна кнопка "назад", которая имеет этот код: prevScene();Мое приложение имеет размер 1200 x 720 пикселей, и я хочу, чтобы оно было 800 x 600, поэтому, когда я изменяю это вручную. Когда я запускаю приложение, все хорошо, переход на следующую сцену, и когда я нажимаю назад, это дает мне ошибку на первой сцене

for each(var i in arr){
 i.addEvent...mouse.click)
};

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at Main/frame2()
    at flash.display::MovieClip/prevScene()
    at Main/onBack()

Когда я отслеживаю mc1, при первом запуске scene1 выводим //movieclip, когда я нажимаю назад, вывод равен // null, и если я отслеживаю arr, вывод будет //,movieclip,movieclip,movieclip (первая только запятая), что может быть проблема? благодарю вас

Код сцены 1:

stop();
trace(mc1); // first run -> object [MovieClip]
           // when back pressd -> null


var selectedIm:MovieClip = mc1;
var selectedD = d1; 
var difficulty:uint = 3;
var imgs:Array = [mc1,mc2,mc3,mc4];
var diff:Array = [d1,d2,d3,d4];

goBtn.addEventListener(MouseEvent.CLICK, onGo);

for each(var i in imgs){
    i.addEventListener(MouseEvent.CLICK, onImage); //here is the error, NULL OBJECT
}

function onGo(e:MouseEvent):void{ //next button
    new Clk().play();
    nextScene();
}

function onImage(e:MouseEvent):void{
    new Clk().play();
    if(selectedIm) selectedIm.filters = [];
    selectedIm = e.target as MovieClip;
    addOutline(selectedIm,0xFFFFFF,6); 
}

...

Код сцены 2:

...
    function onBack(e:MouseEvent):void{
    new Clk().play();
    removeChild(pz);
    timer.reset();
    timer.stop();
    timer.removeEventListener(TimerEvent.TIMER, numara);
    prevScene();
  ....

}

0 ответов

Другие вопросы по тегам