X3M-Slider
Адский админ

Зарегистрирован: 03.12.2006
Сообщения: 443
Откуда: From hell
|
Добавлено: Вт Окт 09, 2007 11:41 am Заголовок сообщения: Динамическая загрузка текста в Flash |
 |
|
Возможно кто то сталкнулся с тем что нужно в флешку загрузить текст (Например как мне загрузка новостей на флеш сайт без БД). Так вот решение:
Как загрузить во Flash текстовые файлы. Для этого мы используем класс loadVars, который на сегодняшний день представляет собой современный аналог функции loadVariables(). Ну начнем пожалуй с примера загрузки текстового файла, так как почти во всех уроках о loadVars, приводится пример именно загрузки текстового файла.
Создадим текстовый файл my_txt, который будет содержаться в той же директории что и наш flash файл, и в нем переменной присвоим какой-нибудь текст:
| Код: |
| my_text=Текст в переменной который вы хотите загрузить |
Если мы используем русский текст, то для устранения проблем с кодировкай текстовый файл лучше всего сохранять в в кодировке UTF-8, для правильного отображения русских букв.
А теперь непосредственно в нашем flash- файле в первом кадре наберем следующий код:
| Код: |
var loader:LoadVars = new LoadVars();
loader._parent = this;
loader.onLoad=function(success){
if(success){
my.text = this.my_text;
}
}
loader.load("my.txt"); |
Строчка loader:LoadVars = new LoadVars(), означает , что мы создаём объект класса LoadVars - loader. Событие loader.onLoad происходит по окончанию загрузки данных. И при этом любой код который обращается к создаваемым на их основании свойствам, должен располагаться строго в обработчике onLoad.
Протестируем наш клип и увидим что текст загрузился в динамическое поле с именем "my".
Однако, если вам надо загрузить текстовый файл, без разборщика пар имя-значение, таких как TXT, HTML, XML, и др., то в этом случае лучше всего использовать обработчик события onData. Создадим еще один текстовый файл my2, и напишем в нем произвольный текст, а наш код заменим на следующий:
| Код: |
var loader:LoadVars = new LoadVars();
loader._parent = this;
loader.onData=function(inString){
my.text = inString;
}
loader.load("my2.txt"); |
Тестируя фильм, мы заметили что данный блок текста появился в нашем текстовом поле полностью.
_________________
Каждый программист оставляет для себя лазейку, а я ее нахожу.
|
|