Actionscript перестает работать, когда я ухожу от определенного кадра - PullRequest
0 голосов
/ 18 апреля 2011

Мой друг хочет иметь несколько навигационных mc-ссылок в кадре 1, затем перейти к определенному кадру и затем нажать кнопку «назад». Когда щелкают ссылки nav mc, временная шкала переходит к данной метке кадра.
Довольно просто.

Большинство ссылок имеют одинаковый nav mc, поэтому при переходе к ним я также могу получить доступ к любому другому фрейму через что-то вроде:

linkg.Contact_btn.addEventListener(MouseEvent.CLICK,Contact_btn_clicked);

function Contact_btn_clicked(e:MouseEvent):void{
    gotoAndStop("ContactPage");
}

Приведенный выше код находится в первом кадре и находится на своем собственном слое, который охватывает все кадры в проекте, поэтому я думаю, что эти определения функций будут сохраняться. Но когда я перехожу к определенной ссылке, в которой нет nav mc, а затем нажимаю кнопку «назад» этого конкретного кадра, все мои определения функций исчезают, даже если теперь присутствуют ссылки nav mc, и как я уже говорил, слушатели должны быть активными.

Мне интересно, сталкивался ли кто-нибудь с таким поведением раньше или что я мог с этим поделать.

Спасибо, JML

1 Ответ

1 голос
/ 18 апреля 2011

Исчезли не ваши объявления функций, а указатель на кнопку, которая была установлена ​​при первом вызове объявления.

Когда вы переходите к кадру, который не включает экземпляр, который был установлен ранее, этот экземпляр удаляется со сцены, и все слушатели теперь указывают на объект, которого больше нет.Если вы добавляете экземпляр с тем же именем в другой фрейм, эти слушатели не установлены , даже если функция слушателя все еще существует и работает.

Так что вам придется снова вызывать

linkg.Contact_btn.addEventListener(MouseEvent.CLICK,Contact_btn_clicked);

, чтобы убедиться, что новая кнопка также правильно реагирует на события нажатия.

Другой возможностью было бы добавить одну и ту же кнопку в каждый кадр FLA, но переключиться на visible = false;, когда она не нужна (и обратно на true, когда она, конечно,).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...