![]() |
Обращение к timeline внешнего swf
Вложений: 1
Здравствуйте, есть 2 мувиклипа. (Приложены к теме)
1) А - главный 2) Б - зависимый, в котором 3 кадра. Как можно управлять из ActionScript клипа А, проигрыванием, остановкой клипа Б. Б подгружается в А через MovieClipLoader. Например, в А написано Код AS1/AS2:
|
1. Не называйте "мувиклипами" swf-ролики, мувиклип - это символ класса MovieClip.
2. Что такое "зависимый"? Может быть "загружаемый"? 3. Исходники в CS6 - это круто, но мало кто тут сможет их открыть и посмотреть, что там у вас. Сохраните максимум для CS5. Или хотя бы приведите здесь полный код. Могу предположить только, что вы, например, не дожидаетесь загрузки второго ролика, и выполняете gotoAndStop не из обработчика onLoadInit. |
Вложений: 1
Спасибо за поправки.
Есть 2 swf, 001- главный, 002- загружаемый в 001. Нужно в 001 написать команду, чтобы загружаемый в него 002 остановился на 2 кадре внутри себя. Выложил в формате cs5 (меньше никак). Код 001 Код AS1/AS2:
Код AS1/AS2:
|
"Также непонятная строчка" - в этом корень вашей неудачи. Это слушатель загрузки, который у вас сейчас остается без дела, хотя и добавлен в этой строке к загрузчику.
То есть он "узнает", что загрузка закончена, но у вас сейчас на это событие нет никакой реакции, поскольку нет обработчика этого события. А только в этом случае можно оперировать загруженным контентом, поскольку код работает асинхронно по отношению к процессам загрузки. Код AS1/AS2:
|
Спасибо!
1) Всегда ли когда требуется обращение к кадру в swf нужно будет вызывать функцию onLoadInit из 4 строк 2) попробовал заменить "this" в addListener и.onLoadInit на другое имя и у меня переставало работать |
Не жалейте строк в редакторе кода :) Компилятору все равно - он сделает байт-код, как ему лучше и понятнее.
onLoadInit - это название события, обработчик которого задается анонимной функцией в вышеприведенном мною коде. Но я бы писал так в своем проекте: Код AS1/AS2:
2. Что значит на "другое имя"? Нужно не "другое имя", а объект-слушатель, который создаем, как я показал тут. В коде этого поста я создаю специальный объект-слушатель, как "по учебнику", а не использую текущий таймлайн (точнее, текущий объект, таймлайн - это понятие из IDE), как было в предыдущем посте в целях экономии ресурсов. this там ссылался на _root и сам _root слушал события. Постарайтесь понять, что к чему. Постарайтесь понять, что в AS используется событийная схема и одна строка кода, записанная под другой не означает, что она обязательно выполнится именно после нее. Иначе никак - нужно отслеживать готовность загрузки. |
Благодарю вас за подробный ответ и уделённое время.
mooncar, а электронный help от Adobe для вас был достаточен или вы использовали дополнительные учебные материалы, если использовали, можете поделиться названиями (ссылками на ресурсы). |
Хелп + книга "Flash MX 2004. Action Script. Библия пользователя".
Только на нее не смотрите, изучайте AS3 по известной литературе (тема на форуме обсуждалась, новых тем не надо о литературе). |
| Часовой пояс GMT +4, время: 16:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.