PDA

Просмотр полной версии : Плиз ответте. про массивы


Skudarnov
18.03.2004, 22:08
Только не говорите иди на поиск... Смотрел, я скомпоновать не могу куски знаний форума. С массивами никогда не работал, в основоном анимация и простые скрипты....
В общеи есть XML майл с данными, я их гружу, потом они разбиваются на значения или их просмотреть trace(as) они выводятся в виде колонки, Скажите а где тут имя массива? Или как мне эти элементы забить в массив и обратиться к каждому из них рандомно???


if (xl.loaded) {
tt = xl.firstChild.nodeValue;
as = tt.split(String.fromCharCode(13, 10, 13, 10));
l = as.length;
for (i=0; i<l; ++i) {
this["m"+i]._visible = false;
trace (as
}
} else {
prevFrame();
play();
}


И еще что вот это знаит (что оно делает?)
this["m"+i]._visible = false;

s_u_m_p
19.03.2004, 01:51
а тут сообственно массивов и нету....

а насчет this ["m" + i]._visible = false;
то это обращение к мувику (объекту) с именем ("m"+i) находящемуся в [this].... в данном случае, все что в мувике (объекте) this - расматривается как элементы асоциативного массива (типа такого var n = new Array ("misha", "valya");
n ["misha"] = "durak";
n ["valya"] = "ne sovsem durak";)

можно и так записать...
eval ["m"+i]._visible = false;

усё....

З.Ы.
можешь засунуть в _root на первый кадр такой скрипт и посмотреть что выдаст, может проясниться что...


for (name in this) {
trace (typeof (this [name]) + ": " + name);
}

s_u_m_p
19.03.2004, 02:04
Ссорррррри!!!! был не внимателен :)

tt = xl.firstChild.nodeValue;
as = tt.split(String.fromCharCode(13, 10, 13, 10));
первая строчка заносит в tt значение первого нода, вторая
строчка делит полученю строчку на элементы по символу разделителю (String.fromCharCode(13, 10, 13, 10)) и заносит в массив, который называеся "as"...

Skudarnov
19.03.2004, 11:21
Тогда если я обращаюсь к элементу массива as вот так as[3] четвертый элемент
var = as[4];

значение переменной var приравнивается значению четвертого эл-та массива?? Так??
Как мне рандомно элементы массива as выхватывать???

s_u_m_p
19.03.2004, 16:35
Оригинал написал(а) Skudarnov
Тогда если я обращаюсь к элементу массива as вот так as[3] четвертый элемент
var = as[4];

ну да так есть, нумерация массива идет с нуля.... четвертый элемент это как раз as[3]...


значение переменной var приравнивается значению четвертого эл-та массива?? Так??

наоброт, значение четвертого приравнивается к переменной :)


Как мне рандомно элементы массива as выхватывать???

просто
your_var = as [random (as.length)];

ЗЫ. если хочешь напиши мне по аське я тебе перешлю русский хелп по AS1 - удобная весчь!

Skudarnov
19.03.2004, 18:04
Вставил я эту строку
stat = as[random(as.length)];
picture = 1+random(5);
loadMovie("tn_"+stat+"_00"+picture+".jpg", "dot");

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

s_u_m_p
19.03.2004, 19:58
tt = xl.firstChild.nodeValue;
as = tt.split(String.fromCharCode(13, 10, 13, 10));
stat = as[random(as.length)];
picture = 1+random(5);
loadMovie("tn_"+stat+"_00"+picture+".jpg", "dot");

если это твой код то все должно работать!!!

Единственная загвоздка может быть в этом

as = tt.split(String.fromCharCode(13, 10, 13, 10));

точнее в том что символ разделитель у тебя это две пустые строки, и получается так что вся строка заноситься в первый элемент массива (потому что split не находит символа разделителя), длина при этом равна 1 и рандом выдает все время 1, то есть фактически
as = tt;

Skudarnov
19.03.2004, 20:42
Может в XML файле проблема???
В общем лежит фйлик.

Суть в том чтобы загружать из файла номер статьи рандомно и через ЛОАДМУВИ грузить JPG типа превью на сайт картинок.

s_u_m_p
19.03.2004, 21:23
Оригинал написал(а) Skudarnov
Может в XML файле проблема???
В общем лежит фйлик.

Суть в том чтобы загружать из файла номер статьи рандомно и через ЛОАДМУВИ грузить JPG типа превью на сайт картинок.

лови....

сделал правда не через XML, через обычный текстовик...

ЗЫ, а что ты на аську не отвечаешь

Skudarnov
20.03.2004, 18:15
Спасибо....
На работе триальный флеш Expired
А вот дома, я все проверю и посмотрю в чем ошибка...
А что это в текстовом файле первая строка
m=1746;

Что это???
Это ты одной переменной присваиваешь весь файлик все строки??

Skudarnov
20.03.2004, 20:06
Не открывается файлик
Unexpected file format

Skudarnov
21.03.2004, 17:38
Марат, сохрани в версии для Flash MX

s_u_m_p
21.03.2004, 22:13
Вот лови...

файл: должен быть записан по системе:
var_1=value_of_var&var_2=value_of_var& и т.д.

флаш, не может читатьвыборочно из файла, он читает весь файл... почему я сделал "m=", чтобы все данные занеслись в переменную var, а потом уже ее делить по шаблону....

Skudarnov
23.03.2004, 11:52
А можно ли отслеживать загрузку файла???
У меня из этих 1500 файликов картинок есть около 12 GIFов, а не JPG, в разных статьях. Можно конечно 12 статей убрать, это всего 72 картинки не попадут в просмотрщик, но можно ли как то проверять JPG загрузился или нет, и повторять цикл с выборкой файла...
У меня скрипт формирует строку для браузера о том какой файл грузить.

s_u_m_p
23.03.2004, 23:53
я не совсем понял, что ты имеешь ввиду...

а в чем проблема в JPG отконвертить?