PDA

Просмотр полной версии : Проблема с вызовом метода


Vansimar
16.09.2011, 12:55
function LeaveMes(e:MouseEvent):void
{
if (int(Cash.text) <= 0)
{
MessageBox.gotoAndPlay(15);
gotoAndStop(1);

RecSort(Records);
impReinMass();

//trace(Records);
//newGame();
}
MessageBox.gotoAndPlay(15);


}
выдает такую ошибку :Не удается вызвать свойство или метод со ссылкой на объект "null".
at Game_fla::MainTimeline/LeaveMes()[Game_fla.MainTimeline::frame2:186]
при дебаге на шаге выполнения MessageBox.gotoAndPlay(15);

что сделать чтоб исправить?

Bgg
16.09.2011, 13:08
MessageBox = null

Vansimar
16.09.2011, 13:32
как null если он не null?

Bgg
16.09.2011, 13:53
С чего вы взяли что не null?

Genzo
16.09.2011, 13:55
Видимо все таки null , полный код в студию

Vansimar
16.09.2011, 14:43
вот этой функцией я вызываю мувик MEssageBox на сцену
function Message(s:String):void
{

MessageBox.TweenBox.Show.text = s;
MessageBox.gotoAndPlay(2);
}

а тем кодом что вверху ,нажатием на крестик вызываю функцию LeaveMes();

КорДум
16.09.2011, 14:45
Это все в разных кадрах, что ли?

Bgg
16.09.2011, 14:46
И? Где проверка? Хотя бы так:

if(MessageBox == null){
trace(1);
}else{
trace(2);
}

Vansimar
16.09.2011, 15:00
все в одном кадре,только анимация messagebox'а сделана в 24 кадра:12 кадров она выезжает,12 заезжает

Genzo
16.09.2011, 15:26
MessageBox.gotoAndPlay(15);
gotoAndStop(1);

есть у вас все в одном кадре зачем gotoAndStop(1); ?

Vansimar
16.09.2011, 16:03
сам геймплей в одном кадре,а меню в другом кадре, и gotoAndStop(1); выкидывает игрока в меню

Genzo
16.09.2011, 16:18
if (int(Cash.text) <= 0)
{
MessageBox.gotoAndPlay(15);
gotoAndStop(1); // выкидывает игрока в меню

RecSort(Records);
impReinMass();

//trace(Records);
//newGame();
}
MessageBox.gotoAndPlay(15); //игрок в меню где нету MessageBox
Сотый раз даю совет не писать в кадрах...

Vansimar
16.09.2011, 16:22
я знаю, я тысячу раз уже пожалел что писал в кадре...