PDA

Просмотр полной версии : Помогите пожалуйста найти ошибку в функции


Dragon rideR
04.04.2007, 00:28
Прошу не бросать в меня плюсы и помидоры :rolleyes:
Пишу функцию которая должна включать в себя 3 функции, добавление картинки, динамическое создание обработчика нажатия по ней и самое для меня страшное - это прелоадер. Вот код функции, все у меня работает кроме прелоадера, вернее он работает но только странно, сначала пустота, потом пишет 100% и сразу показывает клип ( А процес загрузки все равно ничего не отображает (
_global.loadImage = function(mc, nameImage, i) {
mc.createEmptyMovieClip("jpg", 1);
mc.createTextField("loader_txt", 2, 10, 10, 50, 50);//создаем текст. поле в которое будем писать процент загрузки
var loader = new MovieClipLoader();
loader.i = i;
loader.onLoadInit = function(mc) {
mc.i = this.i;
mc._y = this.p*110;
mc.onRelease = function() {
//Создаем динамический код для клика по майке
_root.log1.add_img(_root.logo_image[i]);
};
};
p++;
loader.addListener(loader);
loader.loadClip(nameImage, 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)+"%";
trace(mc.loader_txt.text);
if (l == t) {
mc.loader_txt.removeTextField();
delete mc.onEnterFrame;
}
}
};
};

this.create
04.04.2007, 00:37
Почему вы не используете onLoadProgress?
Не знаю, что и сказать... У меня все нормально показывает.
_global.loadImage = function(mc, nameImage, i) {
mc.createEmptyMovieClip("jpg", 1);
mc.createTextField("loader_txt", 2, 10, 10, 50, 50);
//создаем текст. поле в которое будем писать процент загрузки
var loader = new MovieClipLoader();
loader.i = i;
loader.onLoadInit = function(mc) {
mc.i = this.i;
mc._y = this.p*110;
mc.onRelease = function() {
//Создаем динамический код для клика по майке
_root.log1.add_img(_root.logo_image[i]);
};
};
p++;
loader.addListener(loader);
loader.loadClip(nameImage, 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)+"%";
trace(mc.loader_txt.text);
if (l == t) {
mc.loader_txt.removeTextField();
delete mc.onEnterFrame;
}
}
};
};
//
loadImage(this, 'pic.jpg', 1);

Dragon rideR
04.04.2007, 10:12
и перед загрузкой клипа показывает сколько процентов загруженно?

this.create
04.04.2007, 10:18
и перед загрузкой клипа показывает сколько процентов загруженно?
Да, показывает проценты от нуля до 100. А затем появляется картинка. Посмотрите внизу кода в моем после, я сделал вызов вашей функции. Возможно вы по-другому ее вызываете. Тогда покажите как. А лучше прикрепите к вашему посту неработающий пример.

Dragon rideR
04.04.2007, 10:36
Да, показывает проценты от нуля до 100. А затем появляется картинка. Посмотрите внизу кода в моем после, я сделал вызов вашей функции. Возможно вы по-другому ее вызываете. Тогда покажите как. А лучше прикрепите к вашему посту неработающий пример.
Обсалютно так же вызываю! Сделал чистый проект скопировал то что вы написали, указываю файл размером 10мб, запускаю.... и сначала тишина, белый экран, затем трайс выдает сразу 100% и грузится картинка... а текстовое поле loader_txt вообще не появляется :wacko:

CorC
04.04.2007, 11:23
надо в инет выложить

Dragon rideR
04.04.2007, 12:07
Спасибо ) Разобрался ) Просто картинка очень быстро грузилась...