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

[AS3]AS3.0添加外部嵌入字体的介绍说明(2)

时间:2012-11-16 22:50cnblogs.com
package { importflash.display.Loader; importflash.display.Sprite; importflash.events.Event; importflash.events.ProgressEvent; importflash.net.URLRequest; importflash.system.LoaderContext; importflash

 

  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.             // 注册全局字体 
  54.             Font.registerFont(MyFont); 
  55.             var myFont:Font = new MyFont() as Font; 
  56.             // 应用字体 
  57.             var format:TextFormat = new TextFormat(myFont.fontName, 25, null, true); 
  58.             txt.defaultTextFormat = format
  59.             // 嵌入字体 
  60.             txt.embedFonts = true
  61.             txt.text = "lite3 欢迎大家访问我的博客 www.lite3.cn"
  62.         } 
  63.     } 

 

热门文章推荐

请稍候...

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

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