PDA

Просмотр полной версии : Как сделать несколько одновременных загрузок?


DECIDE
11.11.2006, 15:30
Смысл:
пользователь кликает на одну кнопку, загружается один блок информации
кликает на другую другой блок

конечно можно и подождать но флаш чезез определённый промежуток времени сам обновляет нужные параметры

нужно сделать чтобы процессы проходили одновременно, т.е. возможность выполнения нескольких загрузок

есть следующий

//в пер. sab команда для загрузки например: blok*adres.ru/load.php
//где blok - индентификатор; adres.ru/load.php - соответственно адрес
vr = new Array();vr = sab.split("*")
//получаем эти параметры в vr[0] & vr[1]
loadVariables("http://"+vr[1], this.load[vr[0]]);
//определяем функцию при окончании загрузки данных
this.load[vr[0]].onData = function(){
text[vr[0]]=this.load[vr[0]].tx;
//^эта команда просто для примера обработки полученных данных
}

если задумку не поняли, то прокоментирую
есть массив load=new Array(), вот с помощью него и хочу производить одновременные загрузки возмоно так сделать?

etc
11.11.2006, 15:48
Ничего не понял.
Зачем много загрузок? Почему нельзя сделать всё в одной?

DECIDE
11.11.2006, 17:13
Скажем это для сайта на флаш

раз в минуту сайт обновляет блок статистики

пользователь кликает по ссылке и информация обновляется

также можно сделать блок типо чата

ещё рекламные баннеры

бегущая строка

да мало ли ... для онлайн игры

нужно подумать как это возможно реализовать

etc
11.11.2006, 17:55
Одновременно у тебя никогда не получится. Потому как флеш, скорее всего, будет грузить последовательно.

DECIDE
11.11.2006, 18:04
никогда не говори никогда!!!

ты же разумный человек, а не булыжник какой нибудь
у любой задачи есть решение

на будущее предвидя коментарий:
что нами создаётся, то нами и контролируется

БУДЬ КАК БОГ.

etc
11.11.2006, 18:37
Я бы решил поставленную задачу иначе и другими способами. Но сейчас я не хочу думать.

DECIDE
11.11.2006, 18:50
Спасибо __etc, рад за тебя!

Я только начал изучать флаш и есть кое какие соображения, но хотел спросить у профи вот iNils мне всегда давал доходчивый ответ. Я снова надеялся получить подсказку.

смысл твоих реплик абсолютно непонятен.
около 4000 сообщений надеюсь не напрасных..

etc
11.11.2006, 20:03
Для того, чтобы получить доходчивый ответ, нужно написать доходчивый вопрос, чего ты пока не сделал. Во всяком случае, понять, что ты хочешь сделать, я до конца не смог.

И не понимаю, почему нельзя сразу загрузить в одном запросе всю информацию и просто разбить по блокам?

DECIDE
11.11.2006, 20:27
по блокам ...
есть файл маршрутизатор корорый в зависимости от запроса пользователя передаёт текстовую информацию
есть файл для баннеров ...
есть файл для чата ...
статистики ...
...
в зависимости от команды флашка запрашивает данные из разных файлов,
может даже с других сайтов

как в таком случае сделать передачу за один раз? никак!

вот я и жду помощи от тех кто давно програмирует на флаш
нужен лищь ответ возможна ли реализация данного метода, спомощью массива


loadVariables("http://"+way, this);
this.onData = function(){
out=this.tx
}

Приведённый код рабочий. Он загружает переменную tx из файла на который указывает way и вставляет в динамическое поле out

Вопрос как подобно этому коду реализовать загрузку с нескольких адресов?

на сцене в одном кадре
код который мне нуден

в следующем stop()

в следующем gotoAndPlay(на первый)

если мне нужно загрузить что-то я запускаю мув
загрузка начинается, после загрузки срабатывает объявленая функция и передаёт куда надо полученные данные

etc
11.11.2006, 20:33
Подобно этому коду нельзя.
Нужно использовать LoadVars — сделать массив с адресами, затем создавать экземпляр LoadVars и на onLoad ставить полученные данные в текст. Вот и всё.

з.Ы. Код писать не буду, пишите самостоятельно — готовый код не способствует быстрому развитию.

DECIDE
12.11.2006, 12:56
Подобно этому коду нельзя.
Нужно использовать LoadVars — сделать массив с адресами, затем создавать экземпляр LoadVars и на onLoad ставить полученные данные в текст. Вот и всё.


Мне не нужно подробно ничего расписывать, конечно можно и с LoadVars, не в этом дело, а дело в принципе КАК СДЕЛАТЬ МАССИВ С АДРЕСАМИ
Меня только это интересует, видно даже в первом вопросе.
Я начинающий и не имею представления как это делается.

хотя типо такого может сработать

vrs=new LoadVars();
vrs[vr[0]].onLoad=function(){
...
}
vrs[vr[0]].load("http://"+vr[1])

сейчас попробую

Приведённый выше пример немного изменённый работает, но вторая загрузка не выполняется

Я кое что накопал в сети, сейчас по юзаю
http://flash-ripper.com/archives/000278.htm

...
ну и намутили эти буржуи @ки

ещё кое что - обсуждалось аж в 2004 г.

http://www.flasher.ru/forum/showthread.php?threadid=56422

вот рабочий код для нескольких одновременных загрузок переменных

loadVariables("http://"+way,this);
this.onData=function(){
text[id]=tx //эта команда так от балды, для примера
}

Значит в way указывается путь и id идентификатор куда должны вставится данные.
например:adres.ru/gettx.php?id=blok1

в файле gettx.php обязательно возвращаем id

echo "id=$id&tx=$txt";

После того как данные получены мы отправлем их туда куда надо в зависимости от индентификатора

но мне хочется сделать без передачи id
есть варианты?

†‡Paladin‡†
13.11.2006, 16:22
об xml никогда не задумывался?