AS3嵌入字体

摘要:
";addChild;}}}在flash中,我们常会遇到需要嵌入字体的情况,在以往的flash版本中,嵌入字体相信是大家已经耳熟能详的事情了,这里我要写的是在as3中如何嵌入字体,以及在as3中嵌入字体所要注意的一些问题。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package {
    
import flash.util.describeType;
import flash.display.MovieClip;
import flash.display.TextField;
import flash.text.TextFormat;
import flash.text.AntiAliasType;
 
 public class Test extends MovieClip {
  
   // be sure this is pointing to a ttf font in your hardrive
   [Embed(source="C:\WINDOWS\Fonts\somefont.ttf", fontFamily="foo")] 
   public var bar:String;
            
   public function Test() {
            
     var format:TextFormat    = new TextFormat();
     format.font         = "foo";
     format.color        = 0xFFFFFF;
     format.size         = 130;
                        
     var label:TextField     = new TextField();
     label.embedFonts      = true;
     label.autoSize       = TextFieldAutoSize.LEFT;
     label.antiAliasType     = AntiAliasType.ADVANCED;
     label.defaultTextFormat   = format;
     label.text         = "Hello World!";
     addChild(label);
   }
  }
}

在flash中,我们常会遇到需要嵌入字体的情况,在以往的flash版本中,嵌入字体相信是大家已经耳熟能详的事情了,这里我要写的是在as3中如何嵌入字体,以及在as3中嵌入字体所要注意的一些问题。

首先我们先制作一个嵌入字体资源文件,先新建一个fla,打开库,在库中新建一个字体,选择你想要嵌入的字体,我这里选的是“

“最后保存并发布为swf,这样我们的嵌入字体资源文件就制作完成了,现在我们来看看如何使用这个嵌入字体,新建一个fla,在第一帧写上如下代码:

  1. //新建一个loader
  2. varloader:Loader= newLoader();
  3. //设置applicationDomain
  4. varcontext:LoaderContext= newLoaderContext();
  5. context.applicationDomain= ApplicationDomain.currentDomain;
  6. loader.contentLoaderInfo.addEventListener(Event.COMPLETE,complete);
  7. loader.load(newURLRequest("fontLib.swf"),context);
  8. functioncomplete(e:Event){
  9. //获取到嵌入的字体
  10. varf:Class= loader.contentLoaderInfo.applicationDomain.getDefinition("Font1")asClass;
  11. //注册字体
  12. Font.registerFont(f);
  13. vartf:TextFormat= newTextFormat();
  14. tf.font= "方正黄草简体";
  15. tf.size= 24;
  16. vartxt:TextField= newTextField();
  17. //使用嵌入字体
  18. txt.embedFonts=true;
  19. txt.text="嵌入字体!";
  20. txt.setTextFormat(tf);
  21. addChild(txt);
  22. }

关于Loader的用法,可以查看帮助,而ApplicationDomain的具体信息,你可以去看下eidiot的这篇教程,而这里我们主要是了解Font,这是as3中使用嵌入字体的关键,Font.registerFont方法能注册一个字体到全局字体列表中,Font.enumerateFonts()方法可以返回一个当前嵌入字体的列表,你可以通过查看这个列表来看你的字体是否注册成功,这个方法有一个布尔值的参数,true为包含设备字体,flase为仅显示嵌入的字体,另外值得注意的是as3中使用嵌入字体,必须将文本的embedFonts设置为true,否则无法正常显示。
以上就是as3嵌入字体的全部了,如有遗漏或疑问,欢迎你前来讨论。

免责声明:文章转载自《AS3嵌入字体》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ASP.NET Core应用程序的参数配置及使用angular11源码探索二十五[Router路由事件]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

AS3中 is,as,typeof的区别

  var my_num:Number=9;trace(typeof my_num);var my_object:Array=["语文","数学","英语"];trace(my_object is Array);trace(my_object as Array)//typeof 是用字符串形式返回对象的类型.//is 用于判断一个对象是否属于一种类型.//...

[ActionScript3.0] AS3利用ExternalInterface与js通信

AS3代码,可做文档类; 1 package { 2 importflash.display.Sprite; 3 import flash.events.*; 4 importflash.external.ExternalInterface; 5 importflash.text.TextField; 6 impor...

Flash AS3 解决SWF加载报错问题

一个SWF加载另一个SWF时,先看下我们用的加载代码: AS3代码 varloadSwf:Loader =newLoader; loadSwf.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCom) loadSwf.load(newURLRequest("demo.swf")) p...

as3 屏幕截图教程(附源码及代码说明)

////////////////////////////////// as源码 ////////////////////////////////// import JPGEncoder; //设置要截屏的范围 var jpg:BitmapData=new BitmapData(stage.stageWidth,stage.stageHeight);//...

Flash务实主义(五)——AS3的垃圾回收

GC和内存泄露无关 垃圾回收,这次是一个被无数人讨论过的传统话题。 Action Script使用的是和Java相似的内存管理机制,并不会即时回收废弃对象的内存,而是在特定时间统一执行一次GC(Gabage Collection)操作来释放废弃对象的内存,避免了重复判断是否需要回收产生的性能问题。 但要注意,这只是决定回收的时机,而不是回收的内容。这个延迟...

AS3的数据类型和定义

AS3的数据类型分: 基元数据类型:Boolean  int(整数)  Number(长的浮点数)  unit(很大的正整数)  String 复杂数据类型:Arrary  Date  Error  Function  RegExp  XML  XMLList 声明变量的格式: var 变量名:数据类型=值; var i:int=2;...