В кадре 1 очень простого флеш-файла у меня есть следующий код:
stop();
this.addEventListener(MouseEvent.CLICK, function(e) { gotoAndStop(5); });
gotoAndStop(10);
Когда я запускаю флэш-файл, я ожидаю, что он автоматически перейдет к кадру 5 ( ED. Мы думаем, что он имеет в виду кадр 10 ), но это не так. Однако щелчок в любом месте заставляет его перейти к кадру 5. Вопрос в том, почему gotoAndStop работает из обработчика событий, а не самостоятельно на главной временной шкале?
Кроме того, если я помещу точно такой же код в любой другой фрейм, gotoAndStop запускается в этом фрейме без необходимости нажатия. Похоже, gotoAndStop не работает только на кадре 1.
Редактировать / ответить : Ответ на этот вопрос действительно глупый, но я приведу его здесь на случай, если кто-нибудь столкнется с ним в будущем. Полученный файл флэш-памяти был размером 500 КБ, что было достаточно, даже локально, чтобы заставить команду gotoAndStop сработать до полной загрузки файла. В результате он не мог перейти к кадрам 5 или 10, потому что они еще не существовали.
Я знал, что должен был положить прелоадер, но он был последним в списке дел и, очевидно, вернулся, чтобы укусить меня за задницу. Я добавил gotoAndStop в обработчик Event.COMPLETE, и он работает отлично. Проблема решена.