![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 368
|
Помогите пожалуйста. Ситуация следующая локально все работает, после публикации в вебе перестают грузить некоторые мувики. Вот выкладываю ссылку на опубликованный мувик http://fk28.narod.ru89кб. И ссылка на архив проекта http://fk28.narod.ru/konstruktor.zip 800кб
Там после выбора майка слева ScrollPane, в нем кнопка добавить. Локально она работает, а в вебе нет. Вот еще выкладываю фрагмент кода который отвечает за загрузку изображений: function add_btn():Void {
//Добавление пунктов меню
btn_load_menu._visible = false;
_root.t2=_root.menu_tip.length;
for (i=0; i<_root.menu_tip.length; i++) {
var mc:MovieClip = this.createEmptyMovieClip(i, i);
mc.createEmptyMovieClip("jpg", 1);
mc.createTextField("loader_txt", 2, 10, 10, 50, 50);
//создаем текст. поле в которое будем писать процент загрузки
var loader = new MovieClipLoader();
loader.i = this.i;
loader.onLoadInit = function(mc) {
_root.splogos.onComplete();
mc.i = this.i;
mc._y = this.i*40;
mc.onRelease = function() {
//Создаем динамический код для клика
add_img(this.i);
};
};
loader.addListener(loader);
loader.loadClip(_root.menu_text[i], mc.jpg);
mc.onEnterFrame = function() {
var l = mc.jpg.getBytesLoaded();
var t = mc.jpg.getBytesTotal();
if (l && t) {
mc.loader_txt.text = Math.floor(100*l/t)+"%";
if (l == t) {
mc.loader_txt.removeTextField();
delete mc.onEnterFrame;
}
}
};
}
}
P.S. Заранее спасибо |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Когда я вижу такой код, мне хочется плакать, особенно, когда код в изобилии посыпан ссылками, которые ссылаются на нужные области видимости. Из приведенного кода строка loader.i = this.i очень смущает.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 368
|
Поменял строку на loader.i = i но не помогло.
Можете подсказать по поводу фразы: "которые ссылаются на нужные области видимости", где можно прочесть про эти области видимости, а то я ничего в них не понимаю.... P.S. А сам принцип по Вашему совету: http://www.flasher.ru/forum/showthread.php?t=93721 |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да это я к тому клоню, что переписывать надо. В таком коде искать баг дороже, чем переписать с нуля.
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нет, здесь ещё ладно, здесь внешних ссылок как раз нет. Вот внутри onEnterFrame вместо mc надо было this использовать.
Впрочем, не суть, все-равно лучше переписать начисто. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Как раз тут вроде нужно Delegate использовать( в onEnterFrame)? Только как? Может пример напишите?
А чем так плохи ссылки на нужные области видимости? Вроде удобно... Ой! Правда, в данном случае действительно this будет указывать на объект вызвавший функцию. ![]() Последний раз редактировалось this.create; 07.04.2007 в 03:21. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Т.к. это AS1, то объявлять функции в таком виде не есть криминал и просто нужно вместо mc использовать this.
Можно себе представить вот такой вот бардак: a();
x = function () {
trace('x() called');
};
function a() {
trace('a() '+this);
link = this;
function b() {
trace('b() '+this+','+link);
function c() {
trace('c() '+this);
}
c();
}
d = function () {
trace('d() '+this);
e = function () {
trace('e() '+this+', d: '+this.d);
};
e();
};
f = function () {
trace('f() '+this);
var g = function () {
trace('g() '+this+','+this.self);
};
g.prototype.self = this;
g();
new g();
};
b();
d();
f();
h = {};
h.e = e;
trace('h.e: '+(h.e === e));
h.e();
trace('c: '+c);
c();
trace('x: '+x);
x();
}
trace('Functions: '+[a, b, c, d, e, f, g, h, x]);
Последний раз редактировалось etc; 07.04.2007 в 03:42. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 368
|
Я с радостью готов переписать код, только можете подсказать: где можно посмотреть как это правильно делать?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|