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

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

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

Регистрация: Apr 2003
Адрес: Uzbekiston
Сообщений: 28
По умолчанию Последовательность проигрывания клипов

Последовательность проигрывания клипов.
у меня есть 2 клипа как можно сделать проигрывания последовательным, когда кончается один, начинал проигрывать второго.
this.loadMovie("1.swf");
this.loadMovie("2.swf");
так проигрывается только второй.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
loadMovie() здесь не годится
Код AS1/AS2:
var loader:MovieClipLoader = new MovieClipLoader();
var mn:Number ;
 
this.onLoadInit = function(target:MovieClip) 
{
	if (target  == cont1)
	{
		target._visible = true ;
		target.play();
		mn = setInterval(managePlay, 10);
	}
	if (target  == cont2)
	{
		target._visible = false ;
		target.stop();
	}	
};
 
loader.addListener(this);
loader.loadClip('1.swf', this.createEmptyMovieClip('cont1', this.getNextHighestDepth()));
loader.loadClip('2.swf', this.createEmptyMovieClip('cont2', this.getNextHighestDepth()));
 
function managePlay() 
{
	if (cont1._currentframe == cont1._totalframes)
	{
		cont1.stop();
		cont1._visible = false ;
		cont2._visible = true ;
		cont2.play();
	}
	if (cont2._currentframe == cont2._totalframes)
	{
		cont2.stop();
		cont2._visible = false ;
		clearInterval(mn);
	}	
}
Такой вариант годится, если вес роликов примерно близкого порядка.
То есть предполагаем, что к концу воспроизведения первого второй уже загружен.
Иначе желательно дожидаться полной гарантированной загрузки обеих, то есть небольшой дополнительный загрузчик организовать в несколько строк кода.


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

Регистрация: Apr 2003
Адрес: Uzbekiston
Сообщений: 28
Спасибо код работает.
А как сделать чтобы повторялись клипы. У меня 1 раз проигрывает и все.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Xmen Посмотреть сообщение
У меня 1 раз проигрывает и все.
Такой алгоритм и предполагался.
Чтобы проигрывание было зацикленным, надо внести изменения в функцию управления воспроизведением:
Код AS1/AS2:
function managePlay() 
{
	if (cont1._currentframe == cont1._totalframes)
	{
		cont1.stop();
		cont1._visible = false ;
		cont1.gotoAndStop(1);
		cont2._visible = true ;
		cont2.play();
	}
	if (cont2._currentframe == cont2._totalframes)
	{
		cont2.stop();
		cont2._visible = false ;
		cont2.gotoAndStop(1);
		cont1._visible = true ;
		cont1.play();	
	}	
}

Старый 05.07.2010, 14:23
Xmen вне форума Посмотреть профиль Отправить личное сообщение для Xmen Найти все сообщения от Xmen
  № 5  
Ответить с цитированием
Xmen

Регистрация: Apr 2003
Адрес: Uzbekiston
Сообщений: 28
все сделал так как написан на коде. Нормально получился. Swf нормально играет но когда поставил через DW в сайт то нече не работает то что я нарисовал появляется а код не работаеть то есть swf не играет.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот так попробуй:
Код AS1/AS2:
var loader:MovieClipLoader = new MovieClipLoader();
var mn:Number = setInterval(managePlay, 10);
var count:Number = 0;
 
this.onLoadInit = function(target:MovieClip) 
{	
	target._visible = false ;
	target.gotoAndStop(1);
	count++;
};
 
var cont:MovieClip = this.createEmptyMovieClip('cont_all', this.getNextHighestDepth());
var c1:MovieClip = cont.createEmptyMovieClip('cont1', 0);
var c2:MovieClip = cont.createEmptyMovieClip('cont2', 1);
 
cont._visible = false ;
loader.addListener(this);
loader.loadClip('1.swf', c1);
loader.loadClip('2.swf', c2);
 
function managePlay() 
{
	if (count == 2)
	{
		cont._visible = true ;	
		c1._visible = true ;			
		c1.play();
		delete count;
	}		
	if (c1._currentframe == c1._totalframes)
	{
		c1.stop();
		c1._visible = false ;
		c1.gotoAndStop(1);
		c2._visible = true ;
		c2.play();
	}
	if (c2._currentframe == c2._totalframes)
	{
		c2.stop();
		c2._visible = false ;
		c2.gotoAndStop(1);
		c1._visible = true ;
		c1.play();	
	}
}
Немного сложновато, но я исхожу из того, что не знаю, как работают твои 1.swf и 2.swf , можешь ли ты их редактировать, прописаны ли там где-либо stop() , т.е. тут универсальная избыточная схема и она годится для любой скорости загрузки роликов.


Последний раз редактировалось mooncar; 05.07.2010 в 20:23.
Старый 06.07.2010, 09:39
Xmen вне форума Посмотреть профиль Отправить личное сообщение для Xmen Найти все сообщения от Xmen
  № 7  
Ответить с цитированием
Xmen

Регистрация: Apr 2003
Адрес: Uzbekiston
Сообщений: 28
SWF у меня avi файлы перекодированные.
во Флеше играет а в IE только первоначальный изображения

Добавлено через 25 минут
Интересно то что я попробовал в пустом HTML использовать swf файл, вуоля все работает а в моём php страничке не получилось swf проиграть там код акшенскрипта не работает а появляется просто рисунок.

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

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

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


 


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


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