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

[AS3]as3中基于元数据的Embed嵌入用法实例说明附源代码

时间:2016-08-22 08:56酷播
[AS3]as3中基于元数据的Embed嵌入用法实例说明附源代码

[AS3]as3中基于元数据的Embed嵌入用法实例说明附源代码

  1. /* 
  2.      * 没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型 
  3.      * Flash不能通过XML文件的扩展名检测正确的MIME类型,嵌入XML数据时都要设置mimeType参数 
  4.        application/x-font  
  5.        application/x-font-truetype  
  6.        application/x-shockwave-flash  
  7.        audio/mpeg  
  8.        image/gif  
  9.        image/jpeg  
  10.        image/png  
  11.        image/svg  
  12.        image/svg-xml 
  13.        application/octet-streamQ   任意的二进制数据  
  14.     */ 
  15.  
  16. public class Main extends Sprite { 
  17.         //元数据:[Embed]元数据标签仅仅支持类和成员变量 
  18.         [Embed(source="asset/Main.swf",symbol="mc")]//绑定库元件名 
  19.         private var mc:Class; 
  20.          
  21.         [Embed(source = "img/01.jpg")] 
  22.         private  var img:Class; 
  23.          
  24.         [Embed(source="asset/Item.xml",mimeType = "application/octet-stream")] 
  25.         private var _xml:Class; 
  26.          
  27.         //描述了嵌入元数据的MIME类型 
  28.         [Embed(source = "asset/font.ttf"fontName = "myfont",advancedAntiAliasing="true"mimeType="application/x-font")] 
  29.         private var theClass:Class; 
  30.          
  31.         public function Main() { 
  32.             trace(new _xml()) 
  33.              
  34.             var format:TextFormat = new TextFormat(); 
  35.             format.size = 14
  36.             format.font = "myfont"
  37.              
  38.             var txt:TextField = new TextField(); 
  39.             txt.text = "方正粗活意简体"
  40.             txt.embedFonts = true
  41.             txt.setTextFormat(format); 
  42.             this.addChild(txt); 
  43.         } 
  44.     } 

在纯AS3项目中嵌入字体

 

[Embed(source="04b_08.ttf",fontName="04b_08",embedAsCFF="false",unicodeRange="U+0020,U+0041-005A")] publicvar myFont:Class; 使用传统方式(就是上面图2中提到的“传统”)嵌入字体名为04b_08的TTF字体中的英文、数字和标点符号,包含大小写。

来看看这四个常用参数的作用吧:

source 指定要嵌入的字体文件路径。还可以用 systemFont指定一个系统中安装的字体。这样的话就可以不需要 source参数了。
fontName 这个实际上就是 fontFamily 的别名。
embedAsCFF 如果不提供这个参数,默认就是true;所以,如果系统你嵌入的字体用于TextField,一定要将其设置为false。
unicodeRange 要嵌入的文本的范围。默认范围大小写,数字,符号

嵌入字体范围:

大写字符 U+0020,U+0041-U+005A
小写字符 U+0020,U+0061-U+007A
数字 U+0030-U+0039,U+002E
标点符号 U+0020-U+002F,U+003A-U+0040,U+005B-U+0060,U+007B-U+007E
基本拉丁字符 U+0020-U+002F, U+0030-U+0039, U+003A-U+0040, U+0041-U+005A, U+005B-U+0060, U+0061-U+007A, U+007B-U+007E
中文字符 <lang>Chinese (All)</lang>    U+3000-303F,U+3105-312C,U+31A0-31BF,U+4E00-9FAF,U+FF01-FF60,U+F900-FAFF,U+201C-201D,U+2018-2019,U+2014,U+2026,U+FFE5,U+00B7

中文范围等等,详细的可以找到你本机的 FlexSDK/frameworks/flash-unicode-table.xml 看看就明白了(中文chinese)
 

热门文章推荐

请稍候...

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

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