Показать сообщение отдельно
Старый 17.05.2010, 21:00
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вы столкнулись с распространенным случаем. Решается элементарно, не надо AS3.
Прелоадер можно сделать для всего, в том числе и для объектов, предназначенных к аттачу, они же в библиотеке находятся, то есть в самом ролике, это тоже нужно учитывать. Для этого:

1) Нужно сделать три кадра.
2) Прелоадер остается в первом. Как его настроить теперь, будет ниже.
3) Все объекты, предназначенные к экспорту (имеющие Linkage), вытащить из библиотеки во второй кадр по одному разу для каждого (накидать как угодно), неважно в какое место, на него головка воспроизведения ни разу не встанет.
4) В библиотеке у всех этих объектов в Linkage снять галочку "Export in First Frame" ("Export for Action Script" разумеется оставить).
5) Теперь флешу объяснить, что экспортировть надо во второй кадр. Настроить экспорт нужно, зайдя в свойства публикации. Вкладка "Flash" -> ActionScript version -> Settings -> Export Frame for classes, поставить 2.
6) В коде предзагрузчика прописать так, чтобы по истечению загрузки переход осуществлялся уже в третий кадр, в котором теперь необходимо разместить основное содержание.

П. 3 нужно проделать для всего, что предназначено для экспорта (т.е. имеет Linkage) и последующего аттача - мувики, звуки, и т.д. Для стандартных и заказных компонентов нужно то же самое сделать. Со шрифтами, предназначенными для внедрения лучше так не делать (с помощью библиотеки), а воспользоваться алгоритмом, приведенном во втором примере.

Теперь проценты будут стартовать с нуля и все будет работать как часы.
См. пример.
Также есть нюансы, если в проекте есть внедренные шрифты. См. пример 2.


Последний раз редактировалось mooncar; 06.07.2010 в 02:55.