我用flash的IDE创建动态文本,然后嵌入两款字体,然后trace(Font.enumerateFonts()),能够输出我嵌入的字体,当用styleSheet对这个文本框字体进行更改(比如在h1标签用Arial,在p标签用另外一个,这两个字体都已经嵌入了,但是没有用类导出),结果只能显示一个标签中的文字的样子,接着我用类导出这些字体,就能正常显示了。之后我试着用纯代码是可以的正常显示,这个是咋回事啊,明明能trace()出嵌入的字体,却不能用?下面是代码:
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- import flash.net.URLLoaderDataFormat;
- import flash.events.Event;
- import flash.text.TextField;
- import flash.text.StyleSheet;
- import flash.text.Font;
- trace(Font.enumerateFonts(false));
- var sheet:StyleSheet=new StyleSheet();
- var h1:Object=new Object();
- h1.fontSize=20;
- h1.color="#990099";
- h1.fontFamily="Arial";
- h1.fontWeight="bold";
- var p:Object=new Object();
- p.fontStyle = "italic";
- p.letterSpacing=3;
- p.textIndent=24;
- p.kerning=true;
- p.fontFamily="方正黄草简体";
- //p.leading=20;
- sheet.setStyle("h1",h1);
- sheet.setStyle("p",p);
- var txt:TextField=new TextField();
- txt.width=300;
- txt.height=200;
- //txt.autoSize="left";
- txt.multiline=true;
- txt.wordWrap=true;
- txt.mouseEnabled=true;
- txt.mouseWheelEnabled=true;
- txt.styleSheet=sheet;
- var req:URLRequest=new URLRequest("wb.txt");
- var txtLoader:URLLoader=new URLLoader();
- txtLoader.addEventListener(Event.COMPLETE,txtHandler);
- txtLoader.load(req);
- function txtHandler(evt:Event):void{
- txt.htmlText=evt.target.data;
- addChild(txt);
- }
- stage.addEventListener(MouseEvent.CLICK,click);
- function click(evt:MouseEvent):void{
- txt.height=200;
- TextField(txt).scrollV+=5;
- trace(1);
- }
复制