PDA

Просмотр полной версии : Форматирование динамически подгружаемого текста


Дружище
16.08.2007, 19:45
Приветствую! Помогите плиз с форматированием динамического текста, который подгружается во флэшку! Естественно текстовые поля не читают форматирование! Через html теги не подходит, нужно сделать именно при помощи класса TextFormat! Заранее спасибо!


_root.createTextField("perv_txt",this.getNextHighestDepth(),50,50,100,110);
var perv_format:TextFormat = new TextFormat();
perv_format.color = 0xffffff;

perv_txt.variable = "1_but"
perv_txt.border = true;
perv_txt.autoSize = true;

perv_txt.setTextFormat(perv_format);

loadVariables("123.txt", _root);

etc
16.08.2007, 21:05
Дружище, отредактируйте свой пост и оформите код тегами .

Benzin
02.09.2007, 00:51
Дружище, а у меня ведь та же проблема.

Суть моего геморроя:

Создаю текстовое поле программно. Через LoadVars загружаю туда текст из .txt- файла. Создаю объект Textformat, внедрил шрифт в библиотеку, поставив все ему нужные флажки.
вот код:

//создание объекта форматирования
var style:TextFormat = new TextFormat();
style.font = "Arial";
style.size = 30;
tf.setTextFormat(style);

///создание тесктового поля и загрузка в него текста из файла
this.createTextField("tf", 10, 500, 300, 300, 500);
tf._x = 300;
tf._y = 400;
tf.wordWrap = true;
tf.embedFonts = true;
if(tf._height > 200) {
tf.autoSize = "none";
tf._height = 200;}
var zav:LoadVars = new LoadVars();
zav.onData = function (src:String):Void {
if(src!=undefined) {
tf.text = src;
} else {
tf.text = "Невозможно отобразить текст";
}
}
zav.load("text.txt");


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

Знающие люди, подскажите что я делаю не так?

Kikasso
02.09.2007, 01:04
Хехе ,а кто будет говорить setNewTextFormat()? И кстати, чтобы с гарантией формат заграбить, сделайте текстовое поле, внедрите в него символы, напишите в нем что-нибудь (это принципиально) а потом
var fmt:TextFormat = my_txt_field.getTextFormat()

udaaff
02.09.2007, 01:14
Benzin, вы пытаетесь в вашем коде применить формат к текстовому полю еще до его создания. После создания поля, как и сказал Kikasso, говорим:
tf.setNewTextFormat(style);

зы: третий и четвертый параметры в методе createTextField отвечают за координаты текстового поля, а не за его размеры.

Kikasso
02.09.2007, 01:25
Benzin, вы пытаетесь в вашем коде применить формат к текстовому полю еще до его создания. Да, кстати, этого я не заметил ))
setNewTextFormat() отличается от setTextFormat() тем что второй форматирует уже имеющийся текст, а первый задает формат для текста который будет введен.

2 Дружище: забудьте про variable и loadVariables, есть свойство TextField.text и класс LoadVars для загрузки данных.

Benzin
02.09.2007, 02:04
Вай, спасибо товарищи)))) Все заработало)) :yahoo: