·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3调用字体as3嵌入外部字体的教程示例

时间:2013-01-20 14:43cnblogs.com
首先在新建个fla命名为font.fla, Ctrl+L 调出库面板.右键点击库面板的空白处,新建字体.... 调出 字体元件属性 窗口.选择要嵌入的字体, 并选择为ActionScript 导出. 填入自己的类名

首先在新建个fla命名为font.fla, Ctrl+L 调出库面板.
右键点击库面板的空白处,新建字体.... 调出 字体元件属性 窗口.
选择要嵌入的字体, 并选择为ActionScript 导出. 填入自己的类名.

 确定并Ctrl+Enter 导出 font.swf
OK,字体库已经准备就绪了,下面是应用篇
下面是应用篇的为文档类.
提示:

  • Font.registerFont(MyFont); 注册全局字体
  • new TextFormat(myFont.fontName); 应用字体
  • txt.embedFonts = true; 设置嵌入字体

以上3条必须同时用到才OK的.

  1. >package 
  2.     import flash.display.Loader; 
  3.     import flash.display.Sprite; 
  4.     import flash.events.Event; 
  5.     import flash.events.ProgressEvent; 
  6.     import flash.net.URLRequest; 
  7.     import flash.system.LoaderContext; 
  8.     import flash.text.Font; 
  9.     import flash.text.TextField; 
  10.     import flash.text.TextFormat; 
  11.     import flash.utils.getDefinitionByName; 
  12.   
  13.     /** 
  14.      * lite3@qq.com 
  15.      * www.lite3.cn 
  16.      * @author lite3 
  17.      */ 
  18.     [SWF(width=600height=50)] 
  19.     public class EmbedFontDemo extends Sprite 
  20.     { 
  21.         private var txt:TextField; 
  22.         private var fontLoader:Loader; 
  23.         public function EmbedFontDemo():void 
  24.         { 
  25.             txt = new TextField(); 
  26.             txt.x = 50
  27.             txt.y = 10
  28.             txt.width = 500
  29.             txt.height = 30
  30.             txt.border = true
  31.             txt.textColor = 0x0099FF
  32.             addChild(txt); 
  33.   
  34.             fontLoader = new Loader(); 
  35.             fontLoader.load(new URLRequest("http://www.CuPlayer.com/assets/swf/embedFontDemo/font.swf"), new LoaderContext(false, loaderInfo.applicationDomain)); 
  36.             fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); 
  37.             fontLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
  38.         } 
  39.   
  40.         private function progressHandler(e:ProgressEvent):void 
  41.         { 
  42.             var ratio:int = e.bytesLoaded / e.bytesTotal * 100; 
  43.             txt.text = "loading...  " + ratio + "%"; 
  44.         } 
  45.   
  46.         private function completeHandler(e:Event):void 
  47.         { 
  48.             fontLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); 
  49.             fontLoader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); 
  50.             trace("font coomplete!"); 
  51.             var MyFont:Class = getDefinitionByName("cn.lite3.font.Font_hyqytj") as Class; 
  52.   
  53.             // CuPlayer.com注册全局字体 
  54.             Font.registerFont(MyFont); 
  55.             var myFont:Font = new MyFont() as Font; 
  56.             // CuPlayer.com应用字体 
  57.             var format:TextFormat = new TextFormat(myFont.fontName, 25, null, true); 
  58.             txt.defaultTextFormat = format
  59.             // CuPlayer.com嵌入字体 
  60.             txt.embedFonts = true
  61.             txt.text = "lite3 欢迎大家访问我的博客www.CuPlayer.com"
  62.         } 
  63.     } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器