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

 

热门文章推荐

请稍候...

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

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