Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Array в Array? (http://www.flasher.ru/forum/showthread.php?t=117148)

intrdr 20.10.2008 15:40

Array в Array?
 
Всем привет!

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

МОДЕЛЬ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/techn...etc/flash-xml/

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


Часовой пояс GMT +4, время: 14:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.