PDA

Просмотр полной версии : Embed шрифта, для дин. полей, созданных програмно.


goword
21.03.2008, 02:48
Создаю програмно тексовое поле.
Назначаю полю текстовый формат.
my_fmt.font = "Arno Pro";

Но в результате, видим Times New (по умолчанию)
С полями, созданными вручную - понятно как прикручивать шрифт, а как его прикручивать к полям, которые созданны программно?

iNils
21.03.2008, 03:04
Полный код можно показать?

goword
21.03.2008, 03:16
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
my_fmt.font = "Arno Pro";
my_fmt.size = 13;


for (i=0; i<_root.Wi; i++) {
obj_mc["mc_item_"+i].createTextField("text_txt",1000+i,100,0,320,0);
obj_mc["mc_item_"+i].text_txt.text = _global["text_"+i];
obj_mc["mc_item_"+i].text_txt.autoSize = true;
obj_mc["mc_item_"+i].text_txt._width = 320;
obj_mc["mc_item_"+i].text_txt.multiline = true;
obj_mc["mc_item_"+i].text_txt.wordWrap = true;
obj_mc["mc_item_"+i].text_txt.setTextFormat(my_fmt);
}

iNils
21.03.2008, 03:24
Код верный, только если шрифт не стандартный, он должен быть внедрен в флешку и для текстового поля добавить embedFonts = true

etc
21.03.2008, 10:03
goword, а зачем вы пишете семь раз «obj_mc["mc_item_"+i]» в коде, а?

goword
21.03.2008, 10:52
для наглядности.

bbexp
21.03.2008, 11:41
Goword, полагаю __etc имел в виду, что гораздо более читаемый (и наглядный, кстати) код выглядит так:

var tf:TextField = obj_mc["mc_item_"+i].createTextField("text_txt",1000+i,100,0,320,0);
tf.text = _global["text_"+i];
tf.autoSize = true;
tf._width = 320;
tf.multiline = true;
tf.wordWrap = true;
tf.setTextFormat(my_fmt);

etc
21.03.2008, 13:21
для наглядности.
Это как раз наоборот полная ненаглядность.

bbexp, совершенно верно.

goword
21.03.2008, 15:15
сдаюсь.

bbexp
21.03.2008, 15:23
Более того, если использовать такое сокращение, а попутно и типизацию - получаем бонус в виде автоКомплита кода - где бы мы его не писали - от (боже упаси) Flash IDE до FDT.

etc
21.03.2008, 16:14
Уж про выигрыш в скорости я вообще промолчу.