ошибка # 1009 Я знаю проблему - что лучше обходить? - PullRequest
0 голосов
/ 17 февраля 2011

Отказ от ответственности: я нуб AS3.

Хорошо - я получаю ошибку # 1009 при компиляции, и я понимаю, почему:

На моей основной временной шкале яm ссылка на movieclipB внутри movieclipA, и movieclipB не начинается с первого кадра.

Поэтому, когда временная шкала достигает movieclipA (и кода одновременно), объект, на который он пытается сослаться (movieclipB), не появляется, пока в будущем не появится еще несколько кадров.

Если я поставлюmovieclipB на первом кадре movieclipA, он будет работать нормально, но это не работает с анимацией.

Итак, я спрашиваю, как я могу сказать flash, чтобы просто успокоиться и подождать, пока объект не появится,а потом использовать код?

В дни AS2 я бы поместил код в movieclipA или B и назвал бы его днем.Я посмотрел на это и заметил разговоры об использовании слушателя EnterFrame, но я не могу заставить его работать.

Это мой код кнопки.Как бы вы поместили EnterFrame внутри этого кода?

section3.section3graph1x.addEventListener(MouseEvent.CLICK, clicktest);

function clicktest(e:MouseEvent):void
{

section3.gotoAndPlay(16);

}

1 Ответ

0 голосов
/ 17 февраля 2011

Я действительно не знаю вашего конкретного случая, но должна быть возможность просто разместить код на временной шкале.(если это ваш подход).

Если mcB находится внутри mcA, то просто добавьте EventListener в тот же кадр, что и при добавлении mcB.(Просто создайте новый пустой ключевой кадр и поместите AS в этот кадр).

Другой способ - вызвать mcB.visible = false;mcB.stop ();в кадре 1, а затем вызовите mcB.visible = true;mcB.gotoAndStop (1) на правильном фрейме.

Я бы порекомендовал вам научиться кодировать в классах, так как это имеет гораздо больше смысла!(Вы можете начать с урока Майкла Джеймса Уильямса . Легко следовать и очень хорошо!)

...