PDA

Просмотр полной версии : dynamicTxt & setMask


Mr. Fixit
10.09.2007, 01:36
вообще ничего не видно.
Что динамически созданный текст не катит под маску?:bb:

var my_tf:TextFormat = new TextFormat();
my_tf.size = 15;
my_tf.bold = true;


var mc1:MovieClip = this.createTextField("my_txt", this.getNextHighestDepth(), 15, 15, null, null);

my_txt.text = "Click here";
my_txt.autoSize = true;
my_txt.selectable = false;
//my_txt.backgroundColor = 0xffffcc
//my_txt.background = true;
my_txt.setTextFormat(my_tf);

mc.setMask(mc1); //mc - это клип на сцене

udaaff
10.09.2007, 01:45
С embedFonts должно заработать.

Mr. Fixit
10.09.2007, 01:54
пробовал, все равно не видит.

udaaff
10.09.2007, 01:59
var my_tf:TextFormat = new TextFormat();
my_tf.size = 15;
my_tf.bold = true;
my_tf.font = "font" // 1


var mc1:MovieClip = this.createTextField("my_txt", this.getNextHighestDepth(), 15, 15, null, null);

my_txt.text = "Click here";
my_txt.autoSize = true;
my_txt.selectable = false;
my_txt.embedFonts = true; // 2
//my_txt.backgroundColor = 0xffffcc
//my_txt.background = true;
my_txt.setTextFormat(my_tf);

mc.setMask(mc1); //mc - это клип на сцене
У меня так заработало.

Mr. Fixit
10.09.2007, 02:07
пасиба.. профтыкал, что надо для embedFonts создать в библиотеке шрифт, и линковать его. :Р

update:
но получается

var my_tf:TextFormat = new TextFormat();
my_tf.size = 15; // эти строки
my_tf.bold = true; // вообще не нужны
my_tf.font = "font";

Kikasso
10.09.2007, 02:18
НЕ НАДО создавать в библиотеке шрифт. Посмотрите на размер файла, и это еще не все проблемы.

udaaff
10.09.2007, 02:23
Kikasso, а как в данном случае без шрифта в библиотеке обойтись?

Kikasso
10.09.2007, 03:05
Да как обычно. положить куда-нибудь за пределы сцены текстовое поле, обозвать например arial_15_bold_txt, включить в него нужный диапазон (embed), и нужный шрифт уже в мувике. Можно сделать код конем -
var fmt = arial_15_bold_txt.getTextFormat();
//формат есть, мувик не нужен ))
_root.swapDepths.call(arial_15_bold_txt, 999999 );
arial_15_bold_txt.removeTextField();
...только чтобы заграбить формат, в поле должно быть хоть что-то написано.
Ну и все. Теперь этот формат, и все остальные, которые разумеется должны быть сохранены где-нибудь, можно применять к текстовым полям. Или можно вообще подгрузить клип со шрифтом, заграбить с него формат и снести мувик. Поищите на форуме по словам SharedFonts, SmartFonts, FontManager - посмотрите как люди решают проблему.

etc
10.09.2007, 10:12
Первая тема из раздела FAQ:
http://www.flasher.ru/forum/showthread.php?t=93152