PDA

Просмотр полной версии : напомните, плз. (проверка загрузки данных)


Almik
21.08.2005, 22:24
код первого и единственного фрейма.

for(i=0;i<=3;i++)
{

var Send = new LoadVars();
Send.var = Somevar;
Send.sendAndLoad(someway_to_php_file, Send, "GET");
Send.onLoad = function() {trace(Send.loaded_var)}
}

В зависемости от переменной Somevar (каждый новый цикл, новое значение этой переменной), php присылает переменную loaded_var со значением 0 или 1.

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

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

silin
21.08.2005, 23:15
посмотри так: Send.onLoad = function() {trace(this.loaded_var)}

Almik
22.08.2005, 00:04
то что надо. спасибо.

Almik
22.08.2005, 12:25
хм..странно. Мне казалось если trace выдает в этом примере мои единицы, то написав вместо trace переменную которая с каждым новым циклом меняется, то ей будут присваиваться мои единицы, а в итоге присвоение идет только последней , динамически созданной переменной.

вобщем чтобы не быть голословным, вот тот же кусок кода с маленьким дополнением.


for(i=0;i<=3;i++)
{
mc.duplicateMovieClip("nm"+i,i);
nm = this["nm"+i];

// т.е. всего получается 3 мувика (nm1,nm2,nm3),

var Send = new LoadVars();
Send.var = Somevar;
Send.sendAndLoad(someway_to_php_file, Send, "GET");
Send.onLoad = function() {

nm.my_var = this.loaded_var
// вот здесь, мне казалось, я присваиваю каждому мувику
//переменную my_var со значением от loaded_var.
//Т.е. я расчитываю, что после того как весь цикл завершится,
//в созданных таким образом мувиках будут переменные
// nm1.my_var, nm2.my_var, nm3.my_var равные , к примеру, 1ам.
// А на деле получается что только nm3.my_var принимает нужное
// значение, все остальные undefined.
}

}

У меня все получается как надо, если я делаю это не одним этапом, а постепенно , в данном примере , в 3 этапа. т.е. создаю мувик. присваиваю переменную, дальше происходит како-либо событие, после чего вновь создаю след. мувик и снова присваиваю переменную и т.д. Но мне нужно все сделать за один целый цикл.

Almik
22.08.2005, 16:37
вобщем я так понял, для флэша это слишком жирно.
я решил переписать код и сделал все поэтапно.

silin
22.08.2005, 18:05
for (i=0; i<=3; i++) {
mc.duplicateMovieClip("nm"+i, i);
var Send = new LoadVars();
Send.var = Somevar;
Send.mc = this["nm"+i];//ссылка на соответствующий мувик

Send.sendAndLoad(someway_to_php_file, Send, "GET");
Send.onLoad = function() {
this.mc.my_var = this.loaded_var;//обращение к этому мувику
};
}