Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите пожалуйста найти ошибку в функции (http://www.flasher.ru/forum/showthread.php?t=94077)

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

Цитата:

Сообщение от Dragon rideR
и перед загрузкой клипа показывает сколько процентов загруженно?

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

Dragon rideR 04.04.2007 10:36

Цитата:

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

Обсалютно так же вызываю! Сделал чистый проект скопировал то что вы написали, указываю файл размером 10мб, запускаю.... и сначала тишина, белый экран, затем трайс выдает сразу 100% и грузится картинка... а текстовое поле loader_txt вообще не появляется :wacko:

CorC 04.04.2007 11:23

надо в инет выложить

Dragon rideR 04.04.2007 12:07

Спасибо ) Разобрался ) Просто картинка очень быстро грузилась...


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

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