2014-01-07 4 views
0

Я получаю эту ошибку:Продолжайте получать TypeError: Ошибка # 2007: Параметр child должен быть не нулевым. Actionscript 3.0

TypeError: Error #2007: Parameter child must be non-null. 
at flash.display::DisplayObjectContainer/addChild() 
at ChristmasGame_fla::MainTimeline/frame4() 
at flash.display::MovieClip/gotoAndStop() 
at ChristmasGame_fla::MainTimeline/onClickMenu2() 

У меня есть кадр, который имеет Чайлдс добавлен с помощью Actionscript. В этом меню есть 7 уровней, каждый из которых при нажатии использует gotoAndStop() для воспроизведения выбранного уровня.

Если я выбираю level1, это нормально, но что-то 2-7 дает ошибку выше. Не знаю, почему, пожалуйста, помогите?

Чрезвычайно грязный код ниже: Будет очищен, как только ошибка будет решена!

stop(); 

var day1click:Day1Click = new Day1Click(); 
var day2click:Day2Click = new Day2Click(); 
var day3click:Day3Click = new Day3Click(); 
var day4click:Day4Click = new Day4Click(); 
var day5click:Day5Click = new Day5Click(); 
var day6click:Day6Click = new Day6Click(); 
var day7click:Day7Click = new Day7Click(); 
var menubg:MenuBG = new MenuBG(); 
var menutitle:MenuTitle = new MenuTitle(); 

addChild(menubg); 
addChild(menutitle); 
menutitle.x = 338.80; 
menutitle.y = 71.25; 
addChild(day1click); 
day1click.x = 332.80; 
day1click.y = 208.5; 
addChild(day2click); 
day2click.x = 567.80; 
day2click.y = 208.50; 
addChild(day3click); 
day3click.x = 796.80; 
day3click.y = 208.50 
addChild(day4click); 
day4click.x = 334.80; 
day4click.y = 362.10; 
addChild(day5click); 
day5click.x = 567.80; 
day5click.y = 362.95; 
addChild(day6click); 
day6click.x = 797.80; 
day6click.y = 362.95; 
addChild(day7click); 
day7click.x = 567.80; 
day7click.y = 506.75 

day1click.addEventListener(MouseEvent.CLICK, onClickMenu1); 
function onClickMenu1(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day1'); 
} 

day2click.addEventListener(MouseEvent.CLICK, onClickMenu2); 
function onClickMenu2(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day2'); 
} 

day3click.addEventListener(MouseEvent.CLICK, onClickMenu3); 
function onClickMenu3(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day3'); 
} 

day4click.addEventListener(MouseEvent.CLICK, onClickMenu4); 
function onClickMenu4(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day4'); 
} 

day5click.addEventListener(MouseEvent.CLICK, onClickMenu5); 
function onClickMenu5(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day5'); 
} 

day6click.addEventListener(MouseEvent.CLICK, onClickMenu6); 
function onClickMenu6(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day6'); 
} 

day7click.addEventListener(MouseEvent.CLICK, onClickMenu7); 
function onClickMenu7(event:MouseEvent):void{ 
    removeChild(menubg); 
    removeChild(menutitle); 
    removeChild(day1click); 
    removeChild(day2click); 
    removeChild(day3click); 
    removeChild(day4click); 
    removeChild(day5click); 
    removeChild(day6click); 
    removeChild(day7click); 
    day1click.removeEventListener(MouseEvent.CLICK, onClickMenu1); 
    day2click.removeEventListener(MouseEvent.CLICK, onClickMenu2); 
    day3click.removeEventListener(MouseEvent.CLICK, onClickMenu3); 
    day4click.removeEventListener(MouseEvent.CLICK, onClickMenu4); 
    day5click.removeEventListener(MouseEvent.CLICK, onClickMenu5); 
    day6click.removeEventListener(MouseEvent.CLICK, onClickMenu6); 
    day7click.removeEventListener(MouseEvent.CLICK, onClickMenu7); 
    gotoAndStop('day7'); 
} 
+0

Единственное исключение не помогает много. Можете ли вы опубликовать код, через который вы создали это многоуровневое меню? –

+0

Уверен, что это довольно грязно, и я очищу его, как только я получу эту работу. Пожалуйста, проверьте мое редактирование на основную запись: – user2960965

+0

Вы добавляете только уровень меню 2, 3, 4 и т. Д. Только в основном холсте, т. Е. This.add(), но не вложенном порядке. то есть уровень меню 2 не находится внутри уровня меню 2. Это то, что вы хотите сделать? Или вам нужно добавить уровень 2 под уровень 1 и так далее. –

ответ

0

след каждый пункт, где Youre вызова AddChild()

пример:

var childInstance:DisplayObject; 
trace(childInstance);// if you see null then issue is found 
addChild(childInstance); 
Смежные вопросы