Вверх

Блог
RSS лента

Динамическая загрузка текста в Flash

Возможно кто то сталкнулся с тем что нужно в флешку загрузить текст (Например как мне загрузка новостей на флеш сайт без БД). Так вот решение:

Как загрузить во Flash текстовые файлы. Для этого мы используем класс loadVars, который на сегодняшний день представляет собой современный аналог функции loadVariables(). Ну начнем пожалуй с примера загрузки текстового файла, так как почти во всех уроках о loadVars, приводится пример именно загрузки текстового файла.

Создадим текстовый файл my_txt, который будет содержаться в той же директории что и наш flash файл, и в нем переменной присвоим какой-нибудь текст:

my_text=Текст в переменной который вы хотите загрузить

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

А теперь непосредственно в нашем flash- файле в первом кадре наберем следующий код:

  1. var loader:LoadVars = new LoadVars();
  2. loader._parent = this;
  3. loader.onLoad=function(success){
  4. if(success){
  5. my.text = this.my_text;
  6. }
  7. }
  8. loader.load("my.txt");

Строчка loader:LoadVars = new LoadVars(), означает , что мы создаём объект класса LoadVars - loader. Событие loader.onLoad происходит по окончанию загрузки данных. И при этом любой код который обращается к создаваемым на их основании свойствам, должен располагаться строго в обработчике onLoad.

Протестируем наш клип и увидим что текст загрузился в динамическое поле с именем "my".

Однако, если вам надо загрузить текстовый файл, без разборщика пар имя-значение, таких как TXT, HTML, XML, и др., то в этом случае лучше всего использовать обработчик события onData. Создадим еще один текстовый файл my2, и напишем в нем произвольный текст, а наш код заменим на следующий:

  1. var loader:LoadVars = new LoadVars();
  2. loader._parent = this;
  3. loader.onData=function(inString){
  4. my.text = inString;
  5. }
  6. loader.load("my2.txt");

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

Ваша оценка: Пусто Средняя: 4.3 (22 голосов)

Комментарии

Автообновление

Здравствуйте.
Подскажите как можно чтение файла txt по таймеру обновлять каждую секунду.
Текстовый файл обновляется хаотично. и флешку надо заставить читать каждое обновление тут же.

Как самый простой вариант

Как самый простой вариант менять название файла через какое то время.

Загрузка текста..

Это AS2?
Подскажите код на AS3 плиз...

Загрузка текста в AS3

Сам не пробовал еще в екшен скрипте третем, но вот это должно работать:
В предыдущих версиях ActionScript для загрузки внешнего текста использовали LoadVars или XML. В ActionScript 3 все собрано в один класс URLLoader (flash.net.URLLoader), который немного похож на прежний LoadVars. Из класса XML убрана функция по загрузки, теперь нужно загружать текст при помощи URLLoader, а затем передавать XML классу для преобразования.
Для начала загрузки нужно использовать метод load(), который получает один параметр URLRequest (это не просто строка URL!). Далее следует использовать события, для того, чтобы узнать об окончании загрузки или ошибке. Когда текст загружен, он сохраняется в свойстве data.
Пример:

  1. var loader:URLLoader;
  2. // ...
  3. loader = new URLLoader();
  4. loader.addEventListener(Event.COMPLETE, xmlLoaded);
  5.  
  6. var request:URLRequest = new URLRequest("file.xml");
  7. loader.load(request);
  8. //...
  9. function xmlLoaded(event:Event):void {
  10. var myXML:XML = new XML(loader.data);
  11. //...
  12. }

не понимаю

Использую такой код:

var lv:LoadVars = new LoadVars();
var question:Array;
var t:Number;
lv.onLoad = function(success:Boolean) {
if (success) {
t = this.count;
question = this.q.split("|");
begin_btn._visible = true;
play();
}
}
lv.load("http://example.com/myfile");

В программе всё работает отлично, но когда загружаю файл на сервер, текст не подгружается. Сайт на Drupal'е. Пробовал разные варианты, уже голову сломал.
В чём ошибка?

Олег

Олег, аналогичное

Олег,
аналогичное затруднение. повозившись установил, что такое только, если расширение у подгружаемого файла - .txt (в случ. с моим хостером). менял расширение на .xml и на всякую ерунду - подгружается ок.

Отправить комментарий

 
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.
  • Image links from G2 are formatted for use with Lightbox2
  • Image links with 'rel="lightshow"' in the <a> tag will appear in a Lightbox slideshow when clicked on.
  • Links to HTML content with 'rel="lightframe"' in the <a> tag will appear in a Lightbox when clicked on.
  • Links to video content with 'rel="lightvideo"' in the <a> tag will appear in a Lightbox when clicked on.
  • Links to inline or modal content with 'rel="lightmodal"' in the <a> tag will appear in a Lightbox when clicked on.

Подробнее о форматировании

CAPTCHA
Если вы человек, то тогда введите символы изображенные на картинке ниже
Image CAPTCHA
Введите символы, изображенные на картинке.
Главная | Портфолио | Услуги | Контакты | Блог