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

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

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

Регистрация: May 2010
Сообщений: 2
По умолчанию подгрузка внешнего swf ролика с условием..

Есть такой вопрос..
есть swf ролик сделанный в программе Anime pro studio(аналог флэша) т.е исходник не FLA формата..
теперь подгружаю его во флэш ролик, например с помощью функции loadMovie();
с этим проблем нет..
Как сделать чтоб после подгрузки ролик проигрывался 1 раз, а нет циклически!! пожалуста напишите скрипт..

Старый 19.05.2010, 14:34
bear84 вне форума Посмотреть профиль Отправить личное сообщение для bear84 Найти все сообщения от bear84
  № 2  
Ответить с цитированием
bear84

Регистрация: Apr 2009
Адрес: altay
Сообщений: 32
так:

Код AS1/AS2:
_root.createEmptyMovieClip("mc", _root.getNextHighestDepth());
var loaderMain = new MovieClipLoader();
var listenerMain = new Object();
listenerMain.onLoadInit = function(target_mc) 
{
   target_mc.stop();
};
 
loaderMain.addListener(listenerMain);
loaderMain.loadClip(mc, "c:\rolik.swf");

Старый 22.08.2011, 02:25
alfipago вне форума Посмотреть профиль Найти все сообщения от alfipago
  № 3  
Ответить с цитированием
alfipago
Banned

Регистрация: Aug 2011
Адрес: Москва
Сообщений: 17
сам ролик при сохранении сделай чтоб один раз проигрывался а не циклически.

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

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

Код AS1/AS2:
//создаем контейнер для загрузки (может быть у вас  уже готовый, тогда не надо):
var cont:MovieClip = _root.createEmptyMovieClip('cont_mc', _root.getNextHighestDepth()); 
var mcl:MovieClipLoader = new MovieClipLoader(); //создаем загрузчик
var lst:Object = new Object(); //создаем слушатель загрузки
lst.onLoadInit = lstInit; //что делать после загрузки, т.е. назначаем обработчик события onLoadInit
mcl.addListener(lst); //теперь добавляем слушатель к загрузчику
mcl.loadClip('rolik.swf', cont); //и наконец стартуем загрузку в контейнер cont
 
function lstInit(tgt:MovieClip) 
{
        //после загрузки назначаем загруженному ролику обработчик onEnterFrame
        //для отслеживания окончания загруженного ролика
	tgt.onEnterFrame = tgtEnterFrame;
}
 
function tgtEnterFrame () 
{          
	if (this._currentframe == this._totalframes) //отслеживаем окончание ролика
	{
		this.stop(); //останавливаем в конце
		delete this.onEnterFrame ; //перестаем следить
	}
}
Все будет замечательно работать, если у вас загружаемый ролик проигрывает свой главный таймлайн, а анимация не находится внутри других его мувиков.

Если оставите loadMovie(), то не сможете отследить окончание загрузки, и назначить какие-либо функции.
Причем локально с этим может что-то и получится, но после заливки на хостинг все перестанет работать.

PS. Ба, а темке-то год. Ну, alfipago, ты некропостер.
__________________
Идите первым!


Последний раз редактировалось mooncar; 22.08.2011 в 04:55.
Старый 12.04.2012, 23:31
xkasab вне форума Посмотреть профиль Отправить личное сообщение для xkasab Найти все сообщения от xkasab
  № 5  
Ответить с цитированием
xkasab

Регистрация: Apr 2012
Сообщений: 17
Код AS1/AS2:
//создаем контейнер для загрузки (может быть у вас  уже готовый, тогда не надо):
var cont:MovieClip = _root.createEmptyMovieClip('cont_mc', _root.getNextHighestDepth());
var cont2:MovieClip = _root.createEmptyMovieClip('cont_mc', _root.getNextHighestDepth(),this.getNextHighestDepth(),0,200,420,200);
var mcl:MovieClipLoader = new MovieClipLoader(); //создаем загрузчик
var lst:Object = new Object(); //создаем слушатель загрузки
lst.onLoadInit = lstInit; //что делать после загрузки, т.е. назначаем обработчик события onLoadInit
mcl.addListener(lst); //теперь добавляем слушатель к загрузчику
mcl.loadClip('Bunshin Kaiten.swf', cont); //и наконец стартуем загрузку в контейнер cont
mcl.loadClip('Shishi Rendan.swf', cont2); //и наконец стартуем загрузку в контейнер cont
 
function lstInit(tgt:MovieClip) 
{
        //после загрузки назначаем загруженному ролику обработчик onEnterFrame
        //для отслеживания окончания загруженного ролика
	tgt.onEnterFrame = tgtEnterFrame;
}
 
function tgtEnterFrame () 
{          
	if (this._currentframe == this._totalframes) //отслеживаем окончание ролика
	{
		this.stop(); //останавливаем в конце
		delete this.onEnterFrame ; //перестаем следить
	}
}
подскажите где ошибка, пытаюсь загрузить 2 ролика, разместить один под другим

Добавлено через 7 часов 12 минут
нашел решение:
Код AS1/AS2:
//создаем контейнер для загрузки (может быть у вас  уже готовый, тогда не надо):
var cont:MovieClip = _root.createEmptyMovieClip('cont_mc', _root.getNextHighestDepth()); 
var mcl:MovieClipLoader = new MovieClipLoader(); //создаем загрузчик
var lst:Object = new Object(); //создаем слушатель загрузки
lst.onLoadInit = lstInit; //что делать после загрузки, т.е. назначаем обработчик события onLoadInit
mcl.addListener(lst); //теперь добавляем слушатель к загрузчику
mcl.loadClip('Shishi_Rendan.swf', cont); //и наконец стартуем загрузку в контейнер cont
 
function lstInit(tgt:MovieClip) 
{
        //после загрузки назначаем загруженному ролику обработчик onEnterFrame
        //для отслеживания окончания загруженного ролика
	tgt.onEnterFrame = tgtEnterFrame;
}
 
function tgtEnterFrame () 
{          
	if (this._currentframe == this._totalframes) //отслеживаем окончание ролика
	{
		this.stop(); //останавливаем в конце
		delete this.onEnterFrame ; //перестаем следить
	}
}
cont._x=0
cont._y=200
//создаем контейнер для загрузки (может быть у вас  уже готовый, тогда не надо):
var cont1:MovieClip = _root.createEmptyMovieClip('cont_mc1', _root.getNextHighestDepth()); 
var mcl:MovieClipLoader = new MovieClipLoader(); //создаем загрузчик
var lst:Object = new Object(); //создаем слушатель загрузки
lst.onLoadInit = lstInit; //что делать после загрузки, т.е. назначаем обработчик события onLoadInit
mcl.addListener(lst); //теперь добавляем слушатель к загрузчику
mcl.loadClip('Bunshin_Kaiten.swf', cont1); //и наконец стартуем загрузку в контейнер cont
 
function lstInit(tgt:MovieClip) 
{
        //после загрузки назначаем загруженному ролику обработчик onEnterFrame
        //для отслеживания окончания загруженного ролика
	tgt.onEnterFrame = tgtEnterFrame;
}
 
function tgtEnterFrame () 
{          
	if (this._currentframe == this._totalframes) //отслеживаем окончание ролика
	{
		this.stop(); //останавливаем в конце
		delete this.onEnterFrame ; //перестаем следить
	}
}
cont1._x=0
cont1._y=0


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

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

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


 


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


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