Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   XML, Загрузка и сохранение. (http://www.flasher.ru/forum/showthread.php?t=151868)

stweet 07.03.2011 18:12

Цитата:

Сообщение от gloomyBrain (Сообщение 978620)
сохранение через FileReference (на своем собственном компьютере)

Собственно мне это и надо. Вот только инфы где нарыть не подскажите?

stweet 07.03.2011 18:14

Всем спасибо! Не стоит из этой темы скандалить у каждого свой подход. С этим стоит только смириться. =)) Ещё раз спасибо всем!

gloomyBrain 07.03.2011 18:19

Цитата:

обосновал выше)))
Читаем обоснование
Код AS3:

var xm:XML = '<data>...</data>'

Тут ты создал строку и передал ее как значение для XML-объекта. Это не одно и то же и пора уже почитать хелп.

Далее
Цитата:

загрузить xml, перевести в строку, ее распарсить на новый xml а там уже добавлять или изменять
То есть про вот такое
Код AS3:

var xml:XML = new XML(urlLoader.data);

Ты не слышал видимо. Ну и ладно

и еще чуть-чуть
Цитата:

Создали, ок, а дальше хоть как парсить можно, дорбавлять поля или удалять и т.д. Тоже самое при загружаемом xml
Если то же самое и для загружаемых, и для созданных в коде, то почему тогда
Цитата:

только xml созданный вручную
и, да
Цитата:

советаю вам не нести бред, если по теме не вкурсе ваще.
PS
правильно писать "советую". Ты производишь впечатление двоечника

i.o. 07.03.2011 18:19

Вопрос от автора:
Цитата:

Можно ли и как создавать с помощью AS3 хоть какой нибудь (XML, txt ...) файл?
Ответ от in4core:
Цитата:

Сообщение от in4core (Сообщение 978608)
Можно и изменять. Но только xml созданный вручную. Другой есть вариант. загрузить xml, перевести в строку, ее распарсить на новый xml а там уже добавлять или изменять. А потом снова сохранять)

А тут наступило прозрение:
Цитата:

+ вам бы за такие речи дать, ну да ладно.

И советаю вам не нести бред, если по теме не вкурсе ваще.
:)

stweet 07.03.2011 18:21

Блин, огромное спс. Оч помогли. Классный форум, обалденная поддержка, мгновенные весомые ответы =)

Написал я собственно вот такой вот кодик:
Код AS3:

        ...
                private function generate(e:MouseEvent):void {
 
                        var arr:Array = new Array();
                        var out:Array = new Array();
 
                        for (var i:int = 0; i < back.length; i++) {
                                if (!(back[i].active)) {
                                        arr.push(new Array(back[i].posX, back[i].posY));
                                }
                        }
                        out.push("<OBJECT>");
                        for (var j:int = 0; j < arr.length; j++) {
                                out.push("\t<NUM_" + j + " x = \"" + arr[j][0] + "\" y = \"" + arr[j][1] + "\"/>");
                        }
                        out.push("</OBJECT>");
 
                        var xml:XML = new XML(out.join("\n"));
 
                        /*
                        * <OBJECT>
                        *                <NUM_0 x="360" y="200"/>
                        *                <NUM_1 x="720" y="220"/>
                        *                <NUM_2 x="340" y="380"/>
                        *                <NUM_3 x="480" y="400"/>
                        * </OBJECT>
                        *
                        * Это вывод мне "trace()"
                        *
                        **/

 
                        trace(xml);
                }
        ...

По клику он мне создаёт XML и выводит в трейсе. Как теперь сохранить это в файле. Приношу извинения, меня, всё же убедили остановиться на XML-е.
Конечно, я могу это дело копировать ручками, но цель: Объединить игру с редактором т.е. как в игре "старкрафт бруд вар" если кто играл знает.
Я даже согласен с тем что бы перезаписывать уже готовый XML файл (предварительно сделанный ручками) не создавая новый.
Это возможно?
Цитата:

Класс FileReference обеспечивает возможности загрузки и сохранения локальных файлов, а также отправки и загрузки файлов между компьютером пользователя и сервером.(с)Adobe
Видимо с этим я малость поспешил =(

MetSerp 08.03.2011 02:49

Цитата:

Сообщение от stweet (Сообщение 978640)

Написал я собственно вот такой вот кодик:

немного не понятно зачем вапм там 2 массива, вы ведь можете непосредственно Хмл дописывать
что то типа:
Код AS3:

var xml:XML = new XML(<object/>):
for (var i:int = 0; i<arr.length;i++){
    xml.appendChild(<num x ={ arr[i][0]} y = { arr[j][1] }/>);
}

я нарочно убрал вот этот момент:
Код AS3:

<NUM_" + j

так как в дальнейшем не думаю что вам будет удобно обрабатывать кучу тегов с не известными именами, а из преимуществ только то что все теги будут уникальны и к ним можно будет обращаться без указания индекса
Цитата:

Конечно, я могу это дело копировать ручками, но цель: Объединить игру с редактором
как уже написали, можно передать хмл серверному скрипту который его уже сохранит/перезапишет в файл, который в дальнейшем использует игрушка.
ЗЫ, мог опечататься.

stweet 08.03.2011 16:31

Цитата:

немного не понятно зачем вапм там 2 массива, вы ведь можете непосредственно Хмл дописывать
что то типа
Первый массив объектов в котором есть булевые флаги.
После манипуляций во второй массив складываю те объекты у которых флаг поменялся а точнее информацию о объектах и выстраиваю XML иерархию. В общем пока это трудно объяснить так как код выглядит частично.

Да, только суть пока ни в том что бы применить искусство к написанию, писалось по бырому под трейс. XML позже прикрутил не меняя оформления.

В общем всё ясно, и всё же, спасибо.


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

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