Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Линия загрузки данных с CD (http://www.flasher.ru/forum/showthread.php?t=87264)

iNils 02.11.2006 20:48

mrspb, вы правила подраздела читали?

chingachgoog 03.11.2006 02:09

Цитата:

Сообщение от __etc
MovieClipLoader не катит?

Честно говоря только присматривался к нему
(но это ведь AS2, а хотелось бы справиться в 1-ом)
А что, помогает?
Цитата:

Сообщение от mrspb
при паблише, можно поиграть с параметрами local playback security...

если ставить нетворк то вообще не грузит с диска
Цитата:

Сообщение от aksyos
Проверь во время запуска загруз процессора

А как он должен быть загружен?
Он вообще у меня даже до 50% не загружается ;-)
Цитата:

Сообщение от aksyos
данные с CD попадают в буфер CD, а так как его размер явно не равен размеру твоей флешки, а флешка упорно спрашивает систему скока там загрузилось, то у процессора возникает глюк, как это объяснить флешке, что над ее вопросом работают. В результате - экран не обновляется.

Интересно...
Может попробывать updateAfterEvent?
Цитата:

Сообщение от aksyos
Проще всего сделай анимацию прелодера на 30 секунд и все.

Тут два момента: не хочется заниматься самообманом во-первых, но главное в том, что ВСЯ флешка виснет (с главной временной шкалой и со всеми другими мувиками на ней)
Цитата:

Сообщение от iNils
Пол года назад я сделал презентацию и записал ее на диск. Она считывала с диска 40 метровый flv, у меня все налету хваталось, а у заказчика был 10-15 секундный завис (диск он сам себе его писал)

Насколько я понимаю, flv загружается потоково, (к тому же у тебя после первого запуска он наверняка закешировался) и хотя полностью он не загрузилс, но начинает показывать почти сразу.
А у заказчика наверное 15 сек диск только раскручивается.
Но у меня не flv, а именно swf. И завис в 30 сек раскруткой диска не объяснить - это как раз то время что необходимо для передачи с CD такого объема файла.
Цитата:

Сообщение от flastar
1. Проверил правильность путей к файлу т.е. не d:\flash\loadclip.swf (пример),
а \loadclip.swf
2. Имя папок должно быть на английском!

У меня загружаемый swf вообще был в той же директории потому путь не указывал вообще - не работает потом делал вариант как ты пишешь (разумеется на английском) с относительным путем - не работает также :-(((
А у тебя заработало именно с СД?
Цитата:

Сообщение от mrspb
запечатываю в ИСОху монтирую её на виртуалку, работает...

скорее всего закешировался стого раза как ты просматривал его еще не в образе
код такой:
на главной временной диаграмме есть мувики Loader3D c кодом
Код:

this.loadMovie("name.swf")
и мувик preload (там динамический текст с переменной loadpercent)
в первом кадре главной временной диаграммы:
Код:

onEnterFrame=function() {
        // запуск прелоадера
        if (preloader(_root["Loader3D"])) {
                _root.gotoAndPlay("intro");// запуск основного ролика
                        }
        }
stop()
preloader=function(targLoad) {
        if (targLoad._totalframes>1) {
                var l=targLoad.getBytesLoaded()
                var t=targLoad.getBytesTotal()
                preload.loadpercent=Math.round((l/t)*100)
                if (l==t) {
                        _root.preload.gotoAndStop(1);// прелоадер закрывается
                        return true

                } else {
                        _root.preload.play()
                        return false
                }
        }
}
stop()

Как уже писал все работает, но только не в случае с СД когда зависают ВСЕ мувики... (((((

iNils 03.11.2006 03:42

2 chingachgoog:
1. Прочесть правила подраздела
2. Сначала думать, а потом писать. В крайнем случаи есть кнопка "изменить", и воспользоваться правкой поста, а не плодить один за другим 6 постов. Еще такое увижу, поставлю еще один плюс.
Цитата:

Сообщение от chingachgoog
Насколько я понимаю, flv загружается потоково, (к тому же у тебя после первого запуска он наверняка закешировался) и хотя полностью он не загрузилс, но начинает показывать почти сразу.А у заказчика наверное 15 сек диск только раскручивается.
Но у меня не flv, а именно swf. И завис в 30 сек раскруткой диска не объяснить - это как раз то время что необходимо для передачи с CD такого объема файла.

Бред.
1. swf тоже грузится потоково.
2. Не надо путать загрузку с сервера с standalone.
Цитата:

Сообщение от chingachgoog
А у тебя заработало именно с СД?

Да

etc 03.11.2006 13:50

Цитата:

Сообщение от chingachgoog
Честно говоря только присматривался к нему
(но это ведь AS2, а хотелось бы справиться в 1-ом)
А что, помогает?

Это не AS2. Попробуйте, может поможет.

chingachgoog 03.11.2006 14:43

Цитата:

Сообщение от iNils
Бред.
1. swf тоже грузится потоково.

Если с СД то нет (((

Цитата:

Сообщение от iNils
2. Не надо путать загрузку с сервера с standalone.

Прости, не понял о чем ты.

Цитата:

Сообщение от iNils
Да

Собственно это самый важный ответ )))

Цитата:

Сообщение от __etc
Это не AS2. Попробуйте, может поможет.

С терминологией не спорю
Но в 6-м плеере его нет, а это пока максимальная версия плеера разрешенная на многих коммерческих сайтах.
Хотя как вариант надо попробывать, правда в случае удачи придется два файла делать - один в 6-м флеше для сайта и проектор в 8-м для СД.

chingachgoog 28.11.2006 16:32

Краткий отчет об экспериментах (к сожалению опять тупик):

1) метод интервалов

Исходные данные:
namefile - имя внешнего файла
this.targets - имя экземпляра мувиклипа мишени куда грузяться внешние файлы
totalb, loadb, percb - переменные динамического текста
Код:

this.targets.loadMovie(namefile,2)
loader=setInterval(function(){
        totalb=targets.getBytesTotal()
        loadb=targets.getBytesLoaded()
        percb=Math.round(loadb/totalb*100)
        updateAfterEvent()
}, 25)
                                                       
stop()

Результат: увы, грузиться все за раз (задержка без обновления экрана и конечные цифры)

2) метод MovieClipLoader()

Исходные данные те же
!!! обратите внимание на переменную l - о ней ниже

Код:

my_mcl = new MovieClipLoader();
myListener = new Object();
l=0
myListener.onLoadProgress = function(mov,bytesLoaded, bytesTotal) {
        _root.loadb = bytesLoaded
        _root.totalb= bytesTotal
        l++
        _root.percb=l
}

my_mcl.addListener(myListener);
my_mcl.loadClip(namefile, _root.targets);

stop()

Результат аналогичный - обновления экрана не происходит, но вот число включений обработчика легко видно (помните про переменную l): оно весьма велико - у меня около 100-400 на 20 Мб файл. Т.е. процесс ловиться, но на экране не отображается. (((

Вопрос тот же: как быть?

chingachgoog 04.12.2006 16:02

Хм. Итак опрос в разделе Action Script показал ПРИНЦИПИАЛЬНУЮ НЕВОЗМОЖНОСТЬ создания прогресс-бара при локальной (например с CD) подгрузке файлов типа swf или jpg. :(
(конечно остается надежда, что кто-то знает хитрый способ)

Причина тут мне видится в самом ядре флеш-проигрывателя. Вообще подобный эффект (замораживания экрана для ЛЮБОЙ анимации и звуков) можно легко получить нажав и УДЕРЖИВАЯ кнопку мыши над кнопкой закрыть (крестиком) окна флеш-плеера. Если отпустить кнопку мыши ВНЕ крестика то вся анимация и звуки продолжаться с места удержания)

В общем прихожу к промежуточному выводу, что здесь рулит только директор (как это не печально для флеша).

ZergMaster 24.11.2008 19:26

хитрый способ.:

Код AS1/AS2:

var loader:MovieClipLoader=new MovieClipLoader();
var listener:Object={}
loader.addListener(listener);
 
loader.loadClip("img/img1.jpg", pig1);
loader.loadClip("img/img2.jpg", pig2);
loader.loadClip("img/img3.jpg", pig3);
loader.loadClip("img/img4.jpg", pig4);
loader.loadClip("img/img5.jpg", pig5);
loader.loadClip("img/img6.jpg", pig6);
 
listener.onLoadStart=function():Void {
        _root.createTextField("preloader", 10234, 250,100,40,18);
        preloader.border = true;
        preloader.text ="0%";
        _root.stop();
        };
listener.onLoadProgress=function(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        preloader.text= Math.round(bytesLoaded/bytesTotal*100)+"%";
        var persent:Number = Math.round(bytesLoaded/bytesTotal*100)
        poloska._xscale= persent;
        };
listener.onLoadComplete=function():Void {
        _root.gotoAndPlay(2);
        preloader.text ="Complete"
        poloska._visible=false;
        }

pig1,2,3,4,5,6 - это пустые клипы контейнеры, в которые загружаются картинки. Все эти клипы есть во флэшке уже с первого кадра, просто в невидимом состоянии, чтобы флэшь начинала подгружать их картинки сразу при загрузке первого кадра. Иначе косяк.
preloader- поле, которое отображает проценты циферками, а а клип poloska - синий прямоугольничек, _xscale которой равно процентам.
при начале загрузки картинок клип останавливает проигрывание. При завершении загрузки - идет и проигрывает клип со второго кадра.) А заодно прячет прогресс-бар.
Вообщем вроде как все правильно.При проверке работает.


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

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