![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2008
Сообщений: 5
|
Добрый день!
Подскажите начинающему сделал всё как написано сдесь: Создаём Preloader с помощью Movie Clip Loader вот код: var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
my_mcl.addListener(my_lst);
my_lst.onLoadStart = function(target_mc:MovieClip)
{
trace("Началась загрузка в "+target_mc);
varTarget = _root.preload_mc;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 100, 0.25, true);
};
//Создаём событие, которое будет срабатывать каждый раз ,при поступлении новых
//данных. Грубо говоря любой внешний файл закачивается “порционно”, т.е. за
//определённый промежуток времени загружается определённое количество байтов,
//так вот когда загрузилась очередная порция байтов,будет срабатывать событие
//onLoadProgress
//
//target_mc - это клип-контейнер, в который подгружается внешний файл
//loaded - это количество уже загруженных данных (в байтах)
//total - общий размер загружаемого файла в байтах
my_lst.onLoadProgress = function(target_mc:MovieClip, loaded:Number, total:Number)
{
trace("Процент загрузки в "+target_mc+" составляет "+varPercent+"%");
//Вычисляем процентное отношение загруженных данных к общему размеру файла
varPercent = loaded/total*100;
//Показываем процент загрузки в текстовых полях
_root.preload_mc.preload_txt.text = _root.preload_mc.duplicate_txt.text=Math.round(varPercent)+"%";
};
//Создаём событие, которое будет срабатывать по завершению загрузки
my_lst.onLoadComplete = function(target_mc:MovieClip)
{
trace("Загрузка в "+target_mc+" закончена");
//Когда закончена загрузка скрываем клип preload_mc, в котором показывался
//процент загрузки.
varTarget = _root.preload_mc;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 0, 0.5, true);
};
//очень важно отличать событие onLoad Init от события onLoadComplete:
//onLoadComplete срабатывает, когда файл полностью загружен, но не смотря на это,
//с файлом пока нельзя работать.
//Событие же onLoadInit возникает именно когда с загруженном файлом можно
//непосредственно начинать работу.
//На самом деле это событие является самым трудным в понимании, т.к. иногда
//все присущие ему (этому событию) действия можно выполнять сразу после загрузки,
//то есть при событии onLoadComplete. Тем не менее, воизбежании ошибок и
//трудностей, которые могут возникнуть, и которые потом очень трудно будет
//вычислить, советую вам вешать все действия с подгружаемым объектом именно на
//событие onLoadInit
my_lst.onLoadInit = function(target_mc:MovieClip)
{
trace("Загруженный объект в "+target_mc+" начинает действовать");
//Как только срабатывает событие onLoadInit показываем клип cont_mc,
//в который и грузилось содержимое
varTarget = target_mc;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeIn, 0, 100, 1, true);
};
_root.my_mcl.loadClip("c://temp//1.swf", _root.cont_mc);
НО!!! при запуске ничего не происходит! помогите, я так понимаю что нужно что-то сделать с спасибо! p.s.для написания использую макромедиа флеш мх Последний раз редактировалось asikK; 17.10.2008 в 18:22. |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 5
|
О! спасибо заработало! теперь ещё вопросик, если можно.
У меня подгружается другаю флешка, к примеру как определить, что подгружаемая флешка закончила проигывание, т.е. доиграла до конца и остановилась? Спасибо! |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 71
|
|
|
|||||
|
Регистрация: Oct 2008
Сообщений: 5
|
Спасибо! Выкладываю общий скрипт, может кому пригодится
a=0;
LoadComplete=false;
LoadData=false;
url = "";
type = "";
wait = "";
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
my_mcl.addListener(my_lst);
my_lst.onLoadStart = function(target_mc:MovieClip)
{
varTarget = _root.preload_mc;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 100, 0.25, true);
};
my_lst.onLoadComplete = function(target_mc:MovieClip)
{
if ((type=="jpeg")and(LoadData))
{
a = getTimer();
LoadComplete=true;
};
if (type=="swf")
{
LoadComplete=true;
};
};
my_lst.onLoadInit = function(target_mc:MovieClip)
{
varTarget = target_mc;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeIn, 0, 100, 1, true);
};
_root.onEnterFrame = function()
{
trace(url);
if(LoadData==false)
{
if((url<>"")and(type<>""))
{
if (wait=="")
{
wait="0";
};
_root.my_mcl.loadClip(url, _root.cont_mc);
LoadData=true;
};
};
if ((type=="jpeg")and(LoadComplete)and(LoadData))
{
if((getTimer()-a)>wait*1000)
{
trace('доиграли');
fscommand("quit");
_root.cont_mc.stop();
_root.my_mcl.unloadClip(_root.cont_mc);
_root.unloadMovie();
};
};
if ((type=="swf")and(LoadComplete)and(LoadData))
{
if(_root.cont_mc._currentframe==_root.cont_mc._totalframes)
{
trace('доиграли');
fscommand("quit");
_root.cont_mc.stop();
_root.my_mcl.unloadClip(_root.cont_mc);
_root.unloadMovie();
};
};
};
fscommand("fullscreen","true");
fscommand("allowscale",true);
_root.loadVariables("./data.txt");
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|