![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2001
Сообщений: 46
|
Привет всем.. Нужна идея =)
Вынес прелоадер во внешний .AS файл ... все намана.. работает... в прелоадере есть переменная ver изменяя которую, при публикации мувиков, браузеры загружают новую версию мувика, картинок и т.п.. т.е. где то там в скрипте: решил эту переменную вынести во внешний файл (config.xml), чтоб не компилить весь проект каждый раз.. и вот тут наткнулся на проблему.. как эту переменную вытащить из файла.. делать прелоадер для xml внутри своего скрипта? Как? onLoad тут не помогает.. скрипт успевает отработать полностью, прежде чем загрузится файл config.xml... |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
А что, выполнять скрипт только по загрузке никак?
|
|
|||||
|
Регистрация: Feb 2001
Сообщений: 46
|
ну.. пробовал, но.. так как только начинаю с AS работать, то получается корявенько + проблемы с видимостью переменных возникает много =) надеялся, может попроще что есть =)
ну например в скрипте такой код работал: в функции (onLoad)он перестает работать... с ошибкой: A 'with' action failed because the specified object did not exist Последний раз редактировалось CORSAiR; 10.02.2006 в 15:00. |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Цитата:
|
|
|||||
|
Регистрация: Feb 2001
Сообщений: 46
|
Мы там видим конечно же undefined ...
чет я запутался.. я так полагаю, что проблема решается просто.. Вот сам файл: MovieClip.prototype.preload = function(image, barWidth, imgWidth, imgHeight) {
// Определяем переменные
var barWidth = barWidth == undefined ? 100 : barWidth;
var imgWidth = imgWidth == undefined ? 0 : imgWidth;
var imgHeight = imgHeight == undefined ? 0 : imgHeight;
var str:String = new String();
_root.config == undefined ? config = "config.xml" : config=_root.config;
_root.ver == undefined ? ver = "1.0.0.0" : ver=_root.ver;
// создаем и загружаем XML
data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.onLoad = loadData;
data_xml.load(config);
// Получаем нужное значение параметра ver и грузим мувик
function loadData(success) {
if (success)
{
ver = this.firstChild.attributes.ver;
this.createEmptyMovieClip("PH_mc", 0);
this.createEmptyMovieClip("updater_mc", 1);
this.createEmptyMovieClip("bar_mc", 2);
this.createEmptyMovieClip("text_mc", 3);
this.bar_mc._xscale = 1;
if(barWidth<>0)
with (this.bar_mc)
{
beginFill(0x434343, 100);
lineTo(barWidth, 0);
lineTo(barWidth, 1);
lineTo(0, 1);
lineTo(0, 0);
}
this.format = new TextFormat("Arial", 6, 0xFFFFFF, false, false, false, null, null, "center");
if(barWidth<>0)
{
with (this.text_mc)
{
createTextField("preload_txt", 0, 0, 0, barWidth, 0);
with (preload_txt)
{
setNewTextFormat(this.format);
border = true;
borderColor = 0x434343;
text = " ";
selectable = false;
}
}
}
this.text_Height = this.text_mc.preload_txt.textHeight+2;
this.text_mc.preload_txt._height = this.text_Height;
this.bar_mc._height = this.text_Height;
if (imgWidth != 0)
{
this.bar_mc._x = this.text_mc._x=imgWidth/2-barWidth/2;
}
if (imgHeight != 0)
{
this.text_mc._y = imgHeight/2-this.text_mc._height/2;
this.bar_mc._y = imgHeight/2-this.bar_mc._height/2+1;
}
this.PH_mc.loadMovie(image+"?ver="+ver);
this.updater_mc.onEnterFrame = function() {
this.Loaded = this._parent.PH_mc.getBytesLoaded();
this.Total = this._parent.PH_mc.getBytesTotal();
this.Percent = Math.ceil((this.Loaded/this.Total)*100);
if (this.Loaded != this.Total || this.Total<=0)
{
this.Percent = this.Total == 0 ? 0 : this.Percent;
this._parent.bar_mc._xscale = this.Percent;
} else
{
this._parent.bar_mc._xscale = this.Percent;
delete this.onEnterFrame;
this._parent.bar_mc.removeMovieClip();
this._parent.text_mc.removeMovieClip();
this.removeMovieClip();
};
};
delete data_xml;
}
}
};
|
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Версия плеера -- 6 ?
|
|
|||||
|
Регистрация: Feb 2001
Сообщений: 46
|
Восьмая....
|
|
|||||
|
Регистрация: Feb 2001
Сообщений: 46
|
м-да... никакими способами не получается... =)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|