В ActionScript 3, как мне обратиться к объектам, которые не находятся в кадре 1? - PullRequest
1 голос
/ 01 марта 2010

У меня есть объект (кнопка) на 2-м кадре моей временной шкалы с именем btnMenu. При нажатии я хочу вернуться к кадру 1 на временной шкале. Actionscript 3 не позволяет мне привязать список событий к кнопке из моего кода в кадре 1.

Компоновка:

слой 1: Действия, только в кадре 1 слой 2: btnMenu, только на кадре 2 (с пустой рамкой впереди)

Код:

stop(); // don't automatically go to frame 2

btnMenu.addEventListener(MouseEvent.CLICK, function() { gotoAndStop(1); }

(и другой код для перехода к кадру 2, очевидно)

Ошибка, которую я получаю: «не могу найти метод / свойство объекта, который является нулевым» (грубо переведено).

Пожалуйста, помогите?

1 Ответ

0 голосов
/ 01 марта 2010

Вы можете получить доступ только к тем объектам, которые находятся в том же фрейме, где живет ваш код. У вас есть несколько способов обойти это. Зависит от того, как вы хотите структурировать свое приложение.

  1. Вы можете переместить все свои кнопки в рамку, в которой у вас есть код, переключить их видимость на false и, как только вы достигнете рамки, где должна быть видна кнопка, просто установите ее в true.

  2. Другой способ - переместить код addEventListener в тот же кадр вашей кнопки. Вы по-прежнему можете обращаться к своему коду в первом кадре и вызывать функцию, если вам это нужно.

Обратите внимание на следующее:

// code in first frame
stop();

function goto(evt:MouseEvent):void {
    gotoAndStop(1);
}

// code in button frame
stop();
btnMenu.addEventListener(MouseEvent.CLICK, goto);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...