Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.08.2009, 19:10
R_Flash вне форума Посмотреть профиль Отправить личное сообщение для R_Flash Найти все сообщения от R_Flash
  № 1  
Ответить с цитированием
R_Flash

Регистрация: Feb 2002
Сообщений: 55
По умолчанию Как узнать количество кадров в загруженном SWF?

Загружаю в созданный клип файл intro.swf через
Код AS1/AS2:
this.createEmptyMovieClip("intro_mc",0);
intro_mc.loadMovie("intro.swf");
trace("intro_mc._totalframes");
количество кадров выдает "1". Что в принципе логично. А как мне узнать количество кадров в файле intro.swf? Спасибо!.

Старый 23.08.2009, 19:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Попробуйте сделать правильный код, грузите через MoviClipLoader.Так как AS асинхронно работает, возможно строчка
Код AS1/AS2:
trace(intro_mc._totalframes);
уже выполняется, когде еще клип не успел подгрузиться...

Организуйте загрузку через MoviClipLoader и в методе onLoadInit напишите:
Код AS1/AS2:
myLoader.onLoadInit = function(target_mc:MovieClip) {
trace(target_mc._totalframes);
}
Не уверен, что сработает, проверьте сами. Если не получится, попробуйте для этих же целей использовать onLoadComplete.

PS. target_mc - это внутренний аргумент функции, передающий ссылку на загруженный клип, intro_mc вместо этого писать не нужно.


Последний раз редактировалось mooncar; 23.08.2009 в 19:39.
Старый 23.08.2009, 19:39
R_Flash вне форума Посмотреть профиль Отправить личное сообщение для R_Flash Найти все сообщения от R_Flash
  № 3  
Ответить с цитированием
R_Flash

Регистрация: Feb 2002
Сообщений: 55
через MovieClipLoader тоже не получилось

Старый 23.08.2009, 19:41
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Сейчас посмотрим...

Добавлено через 2 минуты
Все отлично работает.
Код AS1/AS2:
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("stroichem1_2.swf", container);
 
function onLoadInit(mc:MovieClip) {
     trace (mc._totalframes);
}

Старый 23.08.2009, 19:54
R_Flash вне форума Посмотреть профиль Отправить личное сообщение для R_Flash Найти все сообщения от R_Flash
  № 5  
Ответить с цитированием
R_Flash

Регистрация: Feb 2002
Сообщений: 55
спасибо. Понял в чем моя ошибка.

Добавлено через 3 минуты
Единственно не понятно одно. В функции onLoadInit в качестве параметра есть клип mc как в него передается количество фреймов если он никак не привязан к клипу container в который непосредсвенно загружается SWF файл

Старый 23.08.2009, 20:02
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

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

Старый 23.08.2009, 20:16
R_Flash вне форума Посмотреть профиль Отправить личное сообщение для R_Flash Найти все сообщения от R_Flash
  № 7  
Ответить с цитированием
R_Flash

Регистрация: Feb 2002
Сообщений: 55
ну просто клип mc нигде кроме фнукции onLoadInit ни где явно не указывается. А если у меня несколько клипов загруженно через ClipLoader как функция поймет о каком именно клипе мне нужна информация? Прошу прощения за свою непонятливость,я чайник =)

Старый 23.08.2009, 20:23
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Поймет, не волнуйтесь. Это внутренняя механика класса. Переменная mc - переменная функции, назначенной на onLoadInit, используется только внутри неё.

Старый 23.08.2009, 20:31
R_Flash вне форума Посмотреть профиль Отправить личное сообщение для R_Flash Найти все сообщения от R_Flash
  № 9  
Ответить с цитированием
R_Flash

Регистрация: Feb 2002
Сообщений: 55
Все заработало, спасибо, но я честно говоря не понял до конца всего прцесса. Буду разбираться

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.