PDA

Просмотр полной версии : Preloader for txt


stannum
15.06.2004, 20:34
Я хотел сделать прелоадер для переменной, которая загружается из текстового файла на локальном диске. Вроде все сделал как нада, но что-то не получается :-)

Проблема:
При загрузке этой самой переменной ролик подвисает, пока не считаются данные полностью, и прелоадер соответсвенно показывает тока 0% и 100%.

Мувик состоит из одного фрейма в котоором написано вот так:



this.onEnterFrame = function() {
percent.text = Math.round(loader.getBytesLoaded()/loader.getBytesTotal()*100)+"%";
if (loader.getBytesLoaded() == loader.getBytesTotal()) {
this.onEnterFrame = function() {
};
}
};
loadData = function () {
loader = new LoadVars();
loader.onLoad = function(ready) {
if (ready) {
trace("loaded");
}
};
loader.load("var.txt");
};
this.onLoad = function() {
loadData();
trace("onLoad called");
};

Dimonius
15.06.2004, 20:40
http://www.flasher.ru/forum/showthread.php?threadid=57078
http://www.flasher.ru/forum/showthread.php?s=&threadid=42454&perpage=15&pagenumber=1

Елё
15.06.2004, 20:53
Я тут чуть переделал на свой вкус...

function loadData()
{
_root.onEnterFrame = function()
{
if(_root.loader.getBytesTotal() == undefined) return;
percent.text = Math.round(loader.getBytesLoaded()/loader.getBytesTotal()*100)+"%";
if (_root.loader.getBytesLoaded() >= loader.getBytesTotal())
this.onEnterFrame = undefined;
};
_root.loader = new LoadVars();
_root.loader.onLoad = function(ready)
{
if (ready)
trace("loaded");
};
_root.loader.load("var.txt");
};

loadData();
stop();

А по существу только if(_root.loader.getBytesTotal() == undefined) return; добавил

Локальный файл всегда грузится на первый же фрейм - так что сразу получаешь 100%
А то что водвисание происходит - так это флэш мегабайтный файл отпарсить пытается

Используй профайлер для того что бы посмотреть как проценты бегут

Успехов
Илья

stannum
15.06.2004, 20:55
Мне-то как раз надо чтобы в мувик грузился огромный файл, на пару мегов, а во время загрузки чтобы показывался процент. Попробуй качни исходник, там файл хоть и не такой большой но все равно не пашет. :)

stannum
15.06.2004, 20:57
Подробнее про профайлер, это как???
Ссылочку если можно?

Елё
15.06.2004, 21:03
Если тебя интересует встроенный то у меня он на view/Bandwidth Profiler сидит (при запуске ролика)

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

stannum
15.06.2004, 21:16
Оказывается и вправду - с локального диска не получается, а если файл из инета качать, то все нормально.

2 Елё:
Спасибо за косметический ремонт моего скрипта! Я то совсем забыл что так можно :)