Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   И снова к текстовому файлу... (http://www.flasher.ru/forum/showthread.php?t=61335)

quazare 01.08.2004 21:10

И снова к текстовому файлу...
 
Загрузка данных из текстового файла в массив во флеше

Еще раз возвращаюсь к теме...

Как сделать обращение к файлу для использования данных файла в массиве флеша... к примеру содержание файла data.txt такое:

1010101010101111100100110
0001010101010101000111000
1111100010101011001010101
.....
0101011001010101010101111

и тому подобное...

как обработать и занести в массив Каждую 1 и 0???

Nox Noctis 01.08.2004 22:18

1. для загрузки: создать объект XML, использовать его метод XML.load()

2. для отслеживания окончания загрузки: создать обработчик события XML.onData или XML.onLoad

3. для разбиения загрузившегося в объект XML текста на строки: использовать функцию String.split, считая разделителем символы "\r\n" (этими символами кодируется перенос строки). т.е. необходимо взять загрузившуюся строку и вызвать относительно неё метод split("\r\n")

4. для разбиения получившихся строчек на отдельные символы "0" и "1" использовать ту же самую функцию String.split с пустым разделителем: String.split("")

5. при необходимости после этого перевести "0" и "1" в числа функцией Number()


алгоритм:
вызвать загрузку. в обработчике события онЛоад (или онДата) вызвать разбиение загрузившейся строки на массив отдельных строчек. далее в цикле перебрать все строчки и разбить их на отдельные символы. далее перебрать символы получившиеся из каждой строчки и перевести их в числа.

при таком раскладе у тебя получится лва цикла - один вложен в другой. и всё это добро вызывается из обработчика события, который срабатывает при окончании загрузки.


читай хэлп про всё из упомянутого, чот кажется незнакомым. когда прочитаешь - попробуй сделать описанный выше алгоритм. когда попробуешь сделать - спроси чего не понятно.

у меня всё :) если нужно всё это готовое - попроси D12, он тут генеральный альтруист :)

quazare 01.08.2004 22:25

Огромное спасибо...
Алгоритм я знаю... я его делал на Pascal'e и на q-ваське... Я пока еще не знаю всех нюансов синтаксиса AS.
Вот и спросил...

D12 01.08.2004 22:36

Цитата:

генеральный альтруист :)

ба ))))))))) да у меня новая должность))))))))))))))))

quazare 02.08.2004 16:34

Дак все-таки где-бы взять понятную доку до XML, а то уж больно все его расхваливают и "обожествляют".... Меня это немного настораживает....

Просто у меня такая задумка... я хочу сделать следующее - игрушку типа стратегии, с подзагрузкой разнообразных карт, которые бы представляли бы собой структурированный файл... К примеру:
1 - земля
0 - вода
2 - гора
..........

Вот я хотел бы посмотреть как это все обработать в прообразе XML через Flash....

:rolleyes:

Nox Noctis 02.08.2004 16:42

выше приведён алгоритм, что и как делать.

какой именно пункт вызывает затруднения? :)

quazare 02.08.2004 16:44

Затрудняет синтаксис оператором и их незнание :confused:

Nox Noctis 02.08.2004 16:47

я перечислил необходимые тебе названия. ты прочитал про них?

quazare 02.08.2004 17:38

конечно, я прочел об этом из официального мануала по AS к флешу 7... ну чтож попробую все это реализовать потихоньку...

Nox Noctis 02.08.2004 17:49

правильное решение :))

сначала попробуй - потом спроси что не получается...

quazare 02.08.2004 19:59

a = new XML(); //Новый XML
b = new Array();

a.load("file.xml"); // Загрузил ...

if (a.onLoad){ // Если загрузился
trace("Zagruzilsia");
a.toString(); // Все в строчку....
}

Дальше надобно узнать длину строчки a.length - не работает :confused:

далее цикл 0... a.length{

b[i] = ...куда заносится обработанные данные....в виде Number...

}

:confused:

Nox Noctis 03.08.2004 23:28

мало читал, читай еще :)

"обработчик события" - это функция

функция с особым именем.

некоторые объекты посылают сообщения о событиях, на которые реагируют другие объекты.

это сообщение нужно для того, чтобы при каком-то событии вызвать одноименную этому событию функцию у заданного объекта

в данном случае у тебя есть объект ХМЛ, которые посылает сообщение об окончании загрузки. называется это событие onLoad.

если создать в объекте ХМЛ функцию с именем onLoad, она сработает как только произойдет событие окончания загрузки этого ХМЛ объекта.

типичный сценарий:

a = new XML();
a.onLoad = function () {
// что нужно сделать когда этот объект загрузился
}
a.load(файл_который_надо_загрузить);


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

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