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

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

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

Регистрация: Sep 2008
Сообщений: 4
Attention loadMovie: как отследить _currentframe загруженного swf-ролика?

Код:
var movies=new Array(
    "intro1",
    "intro2"
    );
 
_root.createEmptyMovieClip("emc", _root.getNextHighestDepth());
for(var i=0; i<movies.length; i++)
{
    _root.emc.loadMovie(movies[i]+".swf");
    for(var j=0; j<_root.emc._totalframes; j++)
    {
        trace("Current: "+_root.emc._currentframe);
    }
}
Почему _root.emc._totalframes=1?

Ролики intro1.swf и intro2.swf присутствуют и загружаются.


Последний раз редактировалось Orbital; 17.09.2008 в 20:02.
Старый 17.09.2008, 18:54
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 2  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Грузите MovieClipLader'ом и проверяйте по onLoadInit.
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

Старый 17.09.2008, 19:20
Orbital вне форума Посмотреть профиль Отправить личное сообщение для Orbital Найти все сообщения от Orbital
  № 3  
Ответить с цитированием
Orbital

Регистрация: Sep 2008
Сообщений: 4
Ок, переписал код с использованием MovieClipLoader:
Код:
stop();
var movies=new Array(
	"intro1",
	"intro2"
	);

_root.createEmptyMovieClip("emc", _root.getNextHighestDepth());

var loader:MovieClipLoader=new MovieClipLoader();
loader.addListener(this);
function onLoadInit(_mc:MovieClip)
{
	for(var i=0; i<_mc._totalframes; i++)
	{
		trace(_mc._currentframe);
	}
}

for(var i=0; i<movies.length; i++)
{
	loader.loadClip(movies[i]+".swf", _root.emc);
}
В результате получил 170 ноликов в output.

Как отслеживать _currentframe по мере проигрывания загруженного swf-ролика?
Как сделать так, чтобы каждый ролик проигрался до конца и после загружался следующий ролик из массива movies?


Последний раз редактировалось Orbital; 17.09.2008 в 19:34.
Старый 17.09.2008, 19:40
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 4  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
А вы хотели получить значения от 1 до 170? Ну тогда nextFrame(), а потом trace(_currentFrame)
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

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

Регистрация: Sep 2008
Сообщений: 4
Отлично!
В output всё красиво, но ролик не проигрывается.

Наверное, я все-таки не оттуда копаю.
Ключевой вопрос: Как сделать так, чтобы каждый ролик проигрался до конца и после загружался следующий ролик из массива movies?

Код:
for(var i=0; i<_mc._totalframes; i++)
{
	trace(_mc._currentframe);
}
Почему _root.emc._totalframes = 0?
Загружаемые ролики ведь не пустые.


Последний раз редактировалось Orbital; 17.09.2008 в 20:04.
Старый 17.09.2008, 20:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Так сначала надо дождаться загрузки, а потом уже трейсить.

Старый 18.09.2008, 02:31
Orbital вне форума Посмотреть профиль Отправить личное сообщение для Orbital Найти все сообщения от Orbital
  № 7  
Ответить с цитированием
Orbital

Регистрация: Sep 2008
Сообщений: 4
Снабдите реальным примером, пожалуйста.

Старый 18.09.2008, 03:37
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 8  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Код:
function onLoadInit(mc:MovieClip){
	trace(mc._totalframes);
}
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

Старый 18.09.2008, 04:09
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 9  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
по первому посту:
Ваш цикл начинает выполняться когда еще swf не загрузился....
по третьему может как то так?
Код:
stop();
var movies:Array = new Array(
	"intro1",
	"intro2"
	);

_root.createEmptyMovieClip("emc", _root.getNextHighestDepth());

var loader:MovieClipLoader=new MovieClipLoader();

loader.addListener(this);

function onLoadInit(_mc:MovieClip):Void {
{
	_mc.onEnterFrame = function():Void {
		trace(this._currentframe);
                /* это на всякий случай можно и раскомментировать
                if (this._currentframe == this._totalframes) {
                      delete this.onEnterFrame;
                }
                 */
	}
}

for(var i=0; i<movies.length; i++)
{
	loader.loadClip(movies[i]+".swf", _root.emc);
}
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 18.09.2008 в 04:12.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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