您的位置:首页 > 其它

AS3中使用嵌入字体

2013-07-12 10:58 225 查看
思路:1. 建立一个嵌入有字体的swf文件。2. 在别的swf文件中加载这个嵌有字体的swf文件 具体方法如下: 1. 新建一Fla文件,保存为shuibo.fla,打开库面板(空库),点击右上角的三角形图标,找到“新建字形……”输入字体名称,例如:Shuibo,在“字体”一栏选择你要嵌入的字体(中英文皆可),例如我选择:汉仪水波体简,然后点击“确定”。2. 找到库中的字形,名称为“Shuibo”,右键选择“链接……”,在出现的对话框中勾选“为actionscript导出”,此时可以看到基类自动填入了Flash.text.Font类,再在“类”一栏填入类的名称,例如:Shuibo,点击确定退出对话框3. 在场景的第一帧上注册此字体,代码如下:import flash.text.Font;Font.registerFont(Shuibo);4. 按ctrl+Enter导出文件。由于嵌入了中文的字体,导出文件shuibo.swf可能有点慢,导出的swf文件可能也比较大。 这样就建立了一个嵌入水波体字体的swf文件,接下来就是要在别的swf中导入这个文件进行使用了。主要代码如下: testText = new TextField(); addChild(testText); testText.y = 50; testText.x = 50; testText.autoSize = TextFieldAutoSize.LEFT; testText.embedFonts = true; tf = new TextFormat(); tf.size = 30; loader = new Loader(); var route:URLRequest = new URLRequest("shuibo.swf"); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.load(route); function onComplete(e:Event):void { var fontArray:Array = Font.enumerateFonts(false); testText.text = fontArray[0].fontName; tf.font = fontArray[0].fontName; testText.setTextFormat(tf); }总结:1. 当testText的embedFonts属性为false时,嵌入的中文字体不起作用。2. Font.enumerateFonts(false)返回的是嵌入字体的所有实例。3. shuibo.swf文件必须与主swf文件处于同一目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: