`
ch_kexin
  • 浏览: 899098 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

Flash cs4 cs5 as3 as2嵌入中文字体 方法

阅读更多
AS2:
因为最近要做一个项目,涉及到要输入文本,Flash的输入文本默认下是只能显示设备字体。连系统内的字体都不能设置,必须要嵌入才能输入。
  as2的时代,可以用加载字体库的方式来解决,Adobe官方的解释太烦琐了,其实总结起来就是一个替换字体的过程,把外部库的自定义字体替换当前的输入字体。
  例如如下:
  如果是as2的话,新建一个Fla文件share.fla,然后在库里新建一个字体文件,然后设置他的标识为MyFont,随便选择系统内的一种字体,然后选择linkage里的导出as,导出runtime sharing,导出第一帧,然后在url处填写share.swf,然后编译成share.swf

  然后新建主文件main.fla,同样在库里新建一个字体文件,然后设置他的url为share.swf,这样他就共享了share.swf里的字体文件,可以在场景里放一个textinput文件来做测试


AS3:
  这样嵌入字体的工作就完成了,as3文件不同的地方在于没有标识这个东西了,那我们在aa.swf(就是上面的share.swf)里设置Classname为自定义的字体名字zhr_font,然后在Main文件里也设置成zhr_font的ClassName



  下面我们要说的是如何用程序来实现as3的中文动态嵌入加载,查了网上的一些资料,老外的做法是新建一个类,然后在类里直接embed这个font,然后最通过加载这个share.swf,然后反射出这个Font类,再注册一次使用,经试验,发现这样的做法英文是可以的,如果是中文,在编译share.swf的时候会报错
  嵌入字体库文件类

  调用字体库文件类

复制内容到剪贴板

  这个是老外的做法,试验过后发现英文是可以没有问题的,但是如果是比较大的中文ttf,在嵌入字体库文件类那处就会有问题,mxmlc编译的时候会报错
  这样我们的做法是,在Flash cs3里来做字体共享库,同样在库里新建一个字体

  然后在主文件里加载,然后用反射的方法注册,再使用
复制内容到剪贴板
代码:
var loader:Loader=new Loader;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loader.load(new URLRequest(”shared.swf”));
function completeHandler(event:Event):void {
var fontLibrary:Class=event.target.applicationDomain.getDefinition(”zhr_Font”) as Class;
trace(fontLibrary);
Font.registerFont(fontLibrary);
test();
}
  
function test() {
var _embeddedFonts:Array = new Array();
_embeddedFonts = Font.enumerateFonts(false);
trace(_embeddedFonts[0].fontName);
//trace(_embeddedFonts.length);
//var tx:TextField=new TextField();
//tx.type=”input”;
tx.embedFonts=true;
//tx.defaultTextFormat=new TextFormat(”zhr_Font”,20,0xFF0000);
var tf=new TextFormat(_embeddedFonts[0].fontName,20,0xFF0000);
//tx.embedFonts = true;
//tx.antiAliasType = AntiAliasType.ADVANCED;
tx.text=”你好”;
tx.setTextFormat(tf);
addChild(tx);
}
代码:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(”fontlibrary.swf”));
  
private function completeHandler(event:Event):void {
  var FontLibrary:Class = event.target.applicationDomain.getDefinition(”FontLibrary”) as Class;
  Font.registerFont(FontLibrary.BankGothicFont);
  var tf:TextField = new TextField();
  tf.defaultTextFormat = new TextFormat(”emBank Gothic”, 12, 0);
  tf.embedFonts = true;
  tf.rotation = 15; // to demonstrate the embed worked
  tf.text = “blah blah blahnblah blah blahnblah blah blah “;
  addChild(tf);
}

复制内容到剪贴板
代码:
package {
  
  import flash.display.Sprite;
  
  public class FontLibrary extends Sprite {
  
    [Embed(systemFont=’Bank Gothic’, fontName=’emBank Gothic’, mimeType=’application/x-font’)]
    public static var BankGothicFont:Class;
  
  }
  
}

相关链接地址 : http://hi.baidu.com/sl19880127sl/blog/item/b79242086e3f11dc63d986a6.html
分享到:
评论
1 楼 xukai19860211 2011-08-10  
[u][/u][i][/i][/b][b][/b][b][/b][b][/b][b][/b][b][/b][b][/b][b][/b][b]

相关推荐

    flash as3 cs5的API文档

    AS3是Flash Player中的脚本语言,相比之前的AS2,它引入了更多的面向对象特性,如类、包和命名空间,提高了代码的可维护性和性能。AS3的强类型系统也使得代码更加严谨,减少运行时错误。 二、Flash CS5 API基础 ...

    flash cs5汉化包

    尽管它在全球范围内广泛使用,但对于中文用户来说,原版的Flash CS5是英文界面,这给许多不熟悉英语的设计师和开发者带来了困扰。因此,“Flash CS5汉化包”应运而生,专门解决了这个语言难题,让中国用户能够更加...

    FLASH CS4 AS3 整站源码

    【标题】"FLASH CS4 AS3 整站源码"涉及的是Adobe Flash Professional CS4版本中的ActionScript 3(AS3)编程语言用于构建整个网站的源代码。这个标题表明了资源是为创建互动式、动态的企业级网站设计的,利用Flash...

    flash cs5 与as3制作的仿雷电小游戏

    在本文中,我们将深入探讨如何利用Adobe Flash CS5和ActionScript 3.0 (AS3)来开发一款仿雷电风格的空战小游戏。雷电系列是经典的飞行射击游戏,以其紧张刺激的战斗和丰富的敌机设计而闻名。通过使用Flash和AS3,...

    FLASH CS5中文帮助文档

    《FLASH CS5中文帮助文档》是一份专为学习和使用Adobe Flash CS5的用户精心编纂的资源,旨在提供全面、详尽的中文指导,帮助用户深入理解和掌握这款强大的动画与交互式内容创作工具。这份文档包含了各种关键概念、...

    photoshop cs5 flash cs5 Dreamweaver cs5 帮助中文文档

    Photoshop CS5、Flash CS5 和 Dreamweaver CS5 是Adobe公司推出的三款经典创意软件,它们在设计、动画和网页开发领域具有广泛的应用。这些软件的中文帮助文档是学习和提升技能的重要资源,提供了详尽的操作指南和...

    flex 和 flash cs5集合的mp3播放器

    flex 和 flash cs5集合的mp3播放器

    flash cs5安装及帮助文件

    "flash+CS4中文帮助.chm"是Flash CS4的中文帮助文档,尽管不是针对Flash CS5,但因其内容详尽,对于初学者来说仍然是很好的参考资料。CHM文件是Windows系统的HTML帮助文件,可以离线查看。通过这个文件,用户可以...

    Flash CS5 as3.0制作的拼图游戏

    在本项目中,我们探讨的是如何使用Adobe Flash CS5结合ActionScript 3.0(AS3)开发一个拼图游戏。ActionScript是Flash平台的核心编程语言,它为创建交互式内容提供了强大的支持。以下是关于这个拼图游戏的知识点: ...

    flash_cs5_extending.pdf

    JavaScript API为开发者提供了与Flash Professional CS5和CS5.5深度集成的能力,使得非ActionScript的开发者也能利用JavaScript进行Flash内容的开发。 ### 第一部分:简介 在Flash CS5中,JavaScript API允许...

    Flash CS5素材.zip

    Flash CS5动画设计与制作实例教程中的案列。有素材,效果。 章节如下: 第1章 VI设计 第2章 动画设计 第3章 电子相册 第4章 广告设计 第5章 MTV制作 第6章 电子阅读物 第7章 动画片 第8章 游戏制作 第9章 网站应用 ...

    flashgame_CS5

    本篇文章将重点探讨使用Flash CS5进行游戏开发的相关知识点,并结合“flashgame4CS5”这一压缩包中的资源,帮助读者深入理解并掌握Flash游戏制作的核心技术。 1. **Flash CS5基础**: Flash CS5是Adobe Animate的...

    FLASH CS5 AS3脚本写的小坦克游戏源码

    在本文中,我们将深入探讨一个基于Adobe Flash CS5和ActionScript 3.0(AS3)开发的坦克游戏源码。这款小游戏不仅展示了AS3的基本语法和面向对象编程的概念,还包含了一些模拟AS2(ActionScript 2.0)特性的关键类。...

    flash cs5 help中文帮助文件

    flash cs5 help中文帮助文件

    网页设计:Photoshop CS5 + flash CS5 + dreamweaver CS5从新手到高手

    网页设计:Photoshop CS5 + flash CS5 + dreamweaver CS5从新手到高手

    Adobe创意大学flash cs5配套PPT

    Flash CS5是Adobe Creative Suite 5(CS5)版本中的一个组件,主要用于创建丰富的互联网应用、互动式内容、游戏以及高质量的动画。 以下是一些关键知识点,通过这些PPT章节的标题可以推断: 1. **FL第1章.ppt - ...

    flash_cs5简体中文帮助教程

    2. **视讯提示点(Video cue points)**:在Flash CS5中,添加视频提示点变得更加简便。这是一项重要的增强功能,允许创作者在视频中设定特定的时间点,用于触发交互事件、播放控制或其他与视频同步的行为。这对于教育...

    Flash CS5实例教程(第2版) 光盘

    本书全面、系统地介绍了Flash CS5的基本操作方法和网页动画的制作技巧,包括FlashCS5基础入门、图形的绘制与编辑、对象的编辑与修饰、文本的编辑、外部素材的应用、元件和库、基本动画的制作、层与高级动画、声音...

Global site tag (gtag.js) - Google Analytics