Просмотр полной версии : Embed шрифта, для дин. полей, созданных програмно.
Создаю програмно тексовое поле.
Назначаю полю текстовый формат.
my_fmt.font = "Arno Pro";
Но в результате, видим Times New (по умолчанию)
С полями, созданными вручную - понятно как прикручивать шрифт, а как его прикручивать к полям, которые созданны программно?
Полный код можно показать?
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);
}
Код верный, только если шрифт не стандартный, он должен быть внедрен в флешку и для текстового поля добавить embedFonts = true
goword, а зачем вы пишете семь раз «obj_mc["mc_item_"+i]» в коде, а?
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);
для наглядности.
Это как раз наоборот полная ненаглядность.
bbexp, совершенно верно.
Более того, если использовать такое сокращение, а попутно и типизацию - получаем бонус в виде автоКомплита кода - где бы мы его не писали - от (боже упаси) Flash IDE до FDT.
Уж про выигрыш в скорости я вообще промолчу.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.