Просмотр полной версии : И снова к текстовому файлу...
Загрузка данных из текстового файла в массив во флеше
Еще раз возвращаюсь к теме...
Как сделать обращение к файлу для использования данных файла в массиве флеша... к примеру содержание файла 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, он тут генеральный альтруист :)
Огромное спасибо...
Алгоритм я знаю... я его делал на Pascal'e и на q-ваське... Я пока еще не знаю всех нюансов синтаксиса AS.
Вот и спросил...
генеральный альтруист :)
ба ))))))))) да у меня новая должность))))))))))))))))
Дак все-таки где-бы взять понятную доку до XML, а то уж больно все его расхваливают и "обожествляют".... Меня это немного настораживает....
Просто у меня такая задумка... я хочу сделать следующее - игрушку типа стратегии, с подзагрузкой разнообразных карт, которые бы представляли бы собой структурированный файл... К примеру:
1 - земля
0 - вода
2 - гора
..........
Вот я хотел бы посмотреть как это все обработать в прообразе XML через Flash....
:rolleyes:
Nox Noctis
02.08.2004, 16:42
выше приведён алгоритм, что и как делать.
какой именно пункт вызывает затруднения? :)
Затрудняет синтаксис оператором и их незнание :confused:
Nox Noctis
02.08.2004, 16:47
я перечислил необходимые тебе названия. ты прочитал про них?
конечно, я прочел об этом из официального мануала по AS к флешу 7... ну чтож попробую все это реализовать потихоньку...
Nox Noctis
02.08.2004, 17:49
правильное решение :))
сначала попробуй - потом спроси что не получается...
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(файл_который_надо_загрузить);
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.