PDA

Просмотр полной версии : Array в Array?


intrdr
20.10.2008, 15:40
Всем привет!

Друзья, у меня такой вопрос возник.
Существует такая запись:

МОДЕЛЬ1
- Сессия1
-- Фото1
-- Фото2
-- Фото3
- Сессия2
-- Фото1
-- Фото2

МОДЕЛЬ2
- Сессия1
-- Фото1
-- Фото2
- Сессия2
-- Фото1
-- Фото2
-- Фото3
- Сессия3
-- Фото1
--Фото2
.....
и т.д.

(фото, в данном случае адреса картинок)

Все это хранится в XML-файле. Добраться до этих переменных не проблема, но вот как сохранить с похожей структурой во Flash.

При помощи цикла пробегаю и считываю данные. Но не удаётся присвоить адрес нужной фото например таким образом: model[i].sessia[j].foto1

Можно было бы создавать три массива (model, sessija i foto) отдельно, но как потом ориентироваться в этом, потому что у моделей разное кол-во сессий и в них разное кол-во фото...

Как быть?!? :confused:

iNils
20.10.2008, 15:46
У вас есть уже xml, зачем еще куда-то переводить?

intrdr
20.10.2008, 22:19
Да, XML есть. Теперь я пытаюсь грамотно считать из него инфу, чтобы удобней было работать дальше с этими переменными, например переключаться между Моделями ( Model[i] ) и сразу видеть сколько сессий и фото и каждый раз не обращаться к xml-файлу...

Или я чего то не понимаю, и так делать на нужно :boredom:

iNils
20.10.2008, 22:43
Надо грамотно xml составить, этого вполне достаточно.

intrdr
20.10.2008, 23:06
xml выгладит так:

<collection>
<model id = "01"
name = "Name"
textfile = "link_to_textfile">
<photos>
<photo01 thumb="link01.1"
big = "link01.2"
details = "link01.3">
</photo01>
<photo02 thumb="link02.1"
big = "link02.2"
details = "link02.3">
</photo02>
<photo03 thumb="link03.1"
big = "link03.2"
details = "link03.3">
</photo03>
</photos>
</model>
<model id = "02"
.......
</model>
</collection>


Просто мне показалось удобней и быстрей закинуть все данные по переменным во Flash, чем потом каждый раз обращаться. :away:
А сделать вложенные массивы все таки нельзя? :(

iNils
20.10.2008, 23:49
Чем удобнее и почему быстрее? Аргументируйте.
Можно сделать методы, которые будут выполнять черную работу за вас.
Можно, но не нужно.

intrdr
22.10.2008, 01:17
Ну не профи я в этом деле, в отличие от вас. Редко с написанием чего-то подобного сталкиваюсь.
Решил, чтобы каждый раз к файлу не обращаться, сразу по переменным раскидать инфу из xml. Но наверно обращение к файлу происходит один раз и после этого данные хранятся в буфере?

Такой вопрос, правильнее хранить данные из разных разделов в разных xml или сделать один общий?
И ещё, иногда, разделы меню, которые тоже из xml читаются, не все загружаются... то есть кнопка создаётся, а в текстовом поле на ней нету названия... в чём тут может быть дело?!? :confused: Это редко происходит, но всё равно нужно с этим бороться. Сорри за оффтоп :rolleyes:

alexcon314
22.10.2008, 01:49
Загруженный единожды xml - это и есть все ваши пременные вкупе. Хранятся они не в буфере, а в специально созданном для этого экземпляре класса XML. Вытаскивать нужные переменные из XML можно достаточно эффективно, без каких-либо раскидываний. Просто надо научится правильно работать с XML (классы XML, XMLNode) и вы поймете о чем вам говорят.
http://www.artlebedev.ru/tools/technogrette/etc/flash-xml/

По оффтопу: создайте другую тему, опишите проблему, приведите пример исходника.