Actionscript 3 доступ к временной шкале не работает - PullRequest
2 голосов
/ 07 мая 2009

В кадре 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, и он работает отлично. Проблема решена.

Ответы [ 3 ]

0 голосов
/ 08 мая 2009

Вы могли бы попробовать что-нибудь передвинуть вдоль одного кадра? поэтому не помещайте код в кадр 1, начинайте с кадра 2.

Если вы действительно хотите лучше контролировать Flash, я рекомендую кодировать во внешнем файле класса.

0 голосов
/ 09 мая 2009

Для меня, после простого копирования и вставки вышеупомянутого кода в пустой флэш-файл, щелчок не работал вообще, но работал 'gotoAndStop (10)'. Однако, когда я назначил прослушиватель щелчков для 'stage вместо этого, щелчок начал работать.

код, который я использовал, был ниже:

  • остановка ();
  • stage.addEventListener (MouseEvent.CLICK, function (e) {gotoAndStop (5);});
  • gotoAndStop (10);

Но так как у вас проблемы с 3-ей строкой (то есть gotoAndStop (10)), и у вас не возникает проблем при нажатии, вы можете попробовать это.

  • остановка ();
  • ссылка на переменную: MovieClip = это как MovieClip;
  • reference.addEventListener (MouseEvent.CLICK, function (e) {reference.gotoAndStop (5);});
  • reference.gotoAndStop (10);

Тахир.

0 голосов
/ 08 мая 2009

Может ли быть, что у вас на самом деле нет кадра 10?

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