![]() |
И снова к текстовому файлу...
Загрузка данных из текстового файла в массив во флеше
Еще раз возвращаюсь к теме... Как сделать обращение к файлу для использования данных файла в массиве флеша... к примеру содержание файла data.txt такое: 1010101010101111100100110 0001010101010101000111000 1111100010101011001010101 ..... 0101011001010101010101111 и тому подобное... как обработать и занести в массив Каждую 1 и 0??? |
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: |
выше приведён алгоритм, что и как делать.
какой именно пункт вызывает затруднения? :) |
Затрудняет синтаксис оператором и их незнание :confused:
|
я перечислил необходимые тебе названия. ты прочитал про них?
|
конечно, я прочел об этом из официального мануала по AS к флешу 7... ну чтож попробую все это реализовать потихоньку...
|
правильное решение :))
сначала попробуй - потом спроси что не получается... |
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: |
мало читал, читай еще :)
"обработчик события" - это функция функция с особым именем. некоторые объекты посылают сообщения о событиях, на которые реагируют другие объекты. это сообщение нужно для того, чтобы при каком-то событии вызвать одноименную этому событию функцию у заданного объекта в данном случае у тебя есть объект ХМЛ, которые посылает сообщение об окончании загрузки. называется это событие 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.