Работа с текстом. Текстовые переменные во флеше

Иногда возникает потребность хранить значения переменных в файле, чтобы быстро, без fla-проекта изменить их. Особенно это актуально для текстовых переменных. Например, эту технологию можно использовать, чтобы изменить локализацию (язык) маленьких проектов, таких как баннеры, к примеру. Просто создать несколько текстовых файликов и использовать их по необходимости. 

Нам понадобятся 3 динамических текстовых поля. Вот так они будут выглядеть в нашем случае стилизированные под кнопки, размещены на темной подложке:

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

Как внедрить шрифт во флеш?

Это делается следующим образом: на панели свойств нажимаем кнопочку "внедрить" (Embed):

В появившемся окне, не вкладке параметры, выбираем диапазон символов, который вам нужен:

Давим на "ОК" и вуаля – наш шрифт появился в библиотеке и при следующем запуске будет создан файл ресурсов .swz в папке с проектом. Не нужно его пугаться. В этом файле спрятался внедрённый шрифт:) 

Вернёмся к нашему барану txt файлу. Его нужно создать, в нашем случае, в папке с проектом (можно создать, где угодно, только потом правильно указать путь к нему). И внутри текст нужно писать по-особому:

[переменная]=[значение]&[переменная]=[значение]&...

Например, создадим файл data.txt и поместим в него следующий текст:

var1=It's&var2=loaded&var3=text!!!

Сохраним его и перейдём назад во флеш. На новом слое в первом кадре напишем такой код:

  1. <strong>// Создаём URL Loader
  2. varloader:URLLoader = newURLLoader();
  3. // выбираем тип данных, которые загружаем, а загружаем мы variables (переменные)
  4. loader.dataFormat = URLLoaderDataFormat.VARIABLES;
  5. // слушатель события конца загрузки
  6. loader.addEventListener(Event.COMPLETE, varsLoaded);
  7. // путь к Файлу
  8. loader.load(newURLRequest("data.txt"));
  9. // текстовым полям присваеваем переменные из *.txt файла
  10. functionvarsLoaded (event:Event):void {
  11.      btn1.text = loader.data.var1;
  12.      btn2.text = loader.data.var2;
  13.      btn3.text = loader.data.var3;
  14. }</strong>

Итак, что мы видим:

Таким образом мы можем изменить текст в файле и измениться текст в swf! Нужно всего лишь правильно составить текстовый файл и правильно загрузить его, присваивая нужным переменным. Таким образом можно менять текст, где угодно, не имея исходно фла. файла. Также можно подгружать числовые значения, например, если нужно изменить скорость программно движущегося персонажа. Удобная штука, не правда ли?))

Исходник

Автор урока: Андрей Барвинко

flash-animated.com

Комментарии
Аватар пользователя e.artem.volga

Всё заработало, но в папке с проектом не появился файл файл ресурсов .swz. На каком этапе выполнения задания должен появится файл SWZ?

NiTRoEx

Аватар пользователя Гость

а как такое проделать с php, а не txt?

Аватар пользователя LeeTovetz

Обычно флеш сам намекает, что может быть ошибка если шрифты не подгрузите при просмотре на другом ПК. Поэтому для уменьшения флешки приходится все в кривые переводить. А с подгруженными шрифтами флешка таки увеличивается.

моя радость тут ))) http://leetovetz.deviantart.com/gallery/

Пожалуйста, оставьте ваш комментарий. Спасибо!
Содержимое этого поля является приватным и не будет отображаться публично.
CAPTCHA
Вопрос для проверки
Заполните поле проверки