![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2006
Сообщений: 45
|
Во внешнем скрипте(php,JS - не принципиально) формируется массив. Как этот массив загрузить во флеш-файл?
в каком виде он должен выводится в скрипте и как читаться флеш-файлом? Для обычных переменных(строковых, числовых) вроде понятно, а для массива не могу сделать.. Последний раз редактировалось zhalexei; 10.08.2006 в 23:22. |
|
|||||
|
Modus ponens
|
Флеш принимает либо стринг либо ХМЛ, так что вариантов не много... формируй либо то либо другое. Если массив относительно небольшой, то можно передавать его одним стрингом с каким-нибудь символом разделяющим элементы массива, если нет - строй ХМЛ...
Пример: html flash
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 45
|
Пришлось делать через XML.
Парсинг полчается нормально, вычисляет что нужно правильно(делал по одному из примеров на flasher.ru) но вот в чем проблема myArray = new Array();
doc = new XML();
doc.load("doc.xml");
doc.onLoad = function (success) {
if (success) {
...
myArray.push(value);
...
}
}
trace(myArray.length);
По всей видимости дело либо в области видимости переменной, либо скорее всего во времени подгрузки файла. как быть? |
|
|||||
|
.grin! wuz here
|
1) сначала doc.onLoad а уж потооооом doc.load("doc.xml");
2) где у тя value? |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 45
|
1)перестановка мест, вполне естессно ничего не дала
2)value находится в XML-файле пробовал играть с _global.. не выходит ничего. может и правда влияет время на загрузку файла? |
|
|||||
|
Modus ponens
|
Опиши подробнее, что такое value, а еще лучше - дай один нод ХМЛя и полностью функцию, которая его разбирает (парсит), иначе тяжело что-то сказать.
_global тут ни при чем. время никак не влияет, функция прописанная\вызывающаяся в onLoad вызывается тогда, когда весь ХМЛ уже загружен. Вот тебе рабочий пример, если нужно: var mainXML:XML = new XML();
mainXML.ignoreWhite = true;
mainXML.onLoad = function() {
parseXML_fn(this);
};
mainXML.load("xml2load.xml");
var _arr:Array = [[],[]];
var parseXML_fn = function () {
var _xml:XML = arguments[0];
for (var i:XMLNode = _xml.childNodes[0].firstChild; i != null; i=i.nextSibling) {
_arr[0].push(i.attributes.z);
_arr[1].push(i.attributes.c);
}
trace("Loaded array contains these values: "+_arr);
};
__________________
Hell is the possibility of sanity |
|
|||||
|
zhalexei, если ты засунешь
в doc.onLoad, после всех твоих пушей , то я думаю что будет не 0. Дело во времени загрузки xml файла - onLoad срабатывает позже чем trace |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 45
|
Цитата:
должен стоять код который обрабатывает этот массив, а обработаться он не успевает.. |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 45
|
ну есть же наверное какие то способы задержать начало выполнения проги пока не загрузится xml-файл?
|
|
|||||
|
Modus ponens
|
2 zhalexei:
самое простое - поставь все скрипты на второй кадр, а в doc.onLoad пропиши gotoAndStop(2); =) хотя, это некрасивое решение =) правильно - написать изначально так, чтобы функции читающие что-либо из ХМЛя не вызывались до его загрузки =)
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:43. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|