Показать сообщение отдельно
Старый 08.07.2009, 13:48
scorpi_Natalia8 вне форума Посмотреть профиль Отправить личное сообщение для scorpi_Natalia8 Найти все сообщения от scorpi_Natalia8
  № 5  
Ответить с цитированием
scorpi_Natalia8

Регистрация: Jun 2009
Сообщений: 39
такой вопрос… внутренние swf, которые подгружаются при нажатии на кнопки на основной флешке, как должны подгружаться?, тоже используя внешний предзагрузчик?

Добавлено через 4 минуты
пробовала такой способ...но у меня подгружаются только кнопки, а MovieClip нет и swf не подгружаются при нажатии на кнопки

Что же все-таки делать, если нам нужно:
использовать attachMovie с достаточно "тяжелыми" (большими по размеру) клипами;
создать предзагрузчик?

Можно сделать "внешний" предзагрузчик. Идея состоит в следующем. Основной ролик создается таким образом, как будто предзагрузчик использовать не предполагается (всем нужным символам устанавливается галочка "Export in first frame"). Кроме того, создается отдельный ролик, в котором:
размещается трехкадровый цикл предзагрузчика;
основной ролик загружается с помощью loadMovie.

В основном ролике в первом же кадре проигрывание останавливается с помощью команды stop(), после того, как он полностью загрузится, его проигрывание запускает команда play() из ролика-загрузчика.

Объясним все на примере (рассматривается ролик-загрузчик, в основном ролике кроме команды stop() в первом кадре нет ничего специфического).

Код:
В первый кадр помещаем приблизительно такой код:
_root.createEmptyMovieClip("my_mc", 1);
// создаём пустой клип, в который будем загружать основной ролик;
my_mc.loadMovie("main.swf"); //загружаем основной ролик
        

Второй кадр оставляем пустым.

В третьем кадре пишем:
txt.text += my_mc.getBytesLoaded()/my_mc.getBytesTotal()+"n";
// (или любой другой код, обновляющий проценты загрузки)
// если еще не все загрузили, ждем
if (my_mc.getBytesLoaded()/my_mc.getBytesTotal() < 1)
gotoAndPlay (2);
        

В четвертом кадре:
my_mc.play(); // запускаем проигрывание загруженного ролика
stop();       // останавливаем проигрывание:
Не забывайте про правила использования _level0 из загруженных с помощью loadMovie или loadMovieNum роликов (подробнее об этом см. раздел, посвященный загрузке роликов в этой лекции).