`
qq123zhz
  • 浏览: 534480 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

flex 字体加载方式3

    博客分类:
  • Flex
阅读更多

 flex 加载方式3:通过actionScript加载,通过loader加载字体然后调用getDefinitionByName()获得字体Class,注册字体后,就可以用了。

 

 

package  {
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.LoaderContext;
	import flash.text.Font;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.utils.getDefinitionByName;
	
	/**
	* 嵌入外部字体
	* @author PhoenixKerry(http://blog.sina.com.cn/yyy98)
	*/
	public class Main extends Sprite {
		private var textField:TextField;
		private var fontLoader:Loader;
		
		public function Main() {
			textField = new TextField();
			textField.selectable = false;
			textField.textColor = 0xFF0000;
			textField.autoSize = TextFieldAutoSize.LEFT;
			addChild(textField);
			
			fontLoader = new Loader();
			fontLoader.load(new URLRequest("./assets/game_font.swf"), new LoaderContext(false, loaderInfo.applicationDomain));
			fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFontCompleteHandler);
		}
		
		// 读取字体完成,通过 TextFormat 应用到 TextField 中的文字
		private function loadFontCompleteHandler(e:Event):void {
			fontLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadFontCompleteHandler);
			var alphaFitnessFontClazz:Class = getDefinitionByName("AlphaFitnessFont") as Class;
			
			Font.registerFont(alphaFitnessFontClazz);
			var alphaFitnessFont:Font = new alphaFitnessFontClazz() as Font;
			
			var textFormat:TextFormat = new TextFormat(alphaFitnessFont.fontName, 60, null, true);
			textField.defaultTextFormat = textFormat;
			textField.embedFonts = true;
			textField.text = "Hello, zhz!!!";
		}
		
	}
}

 

 /assets/game_font.swf:嵌入式字体swf地址

AlphaFitnessFont:swf字体类名

 

打包ttf为swf字体代码:

package
{
	import flash.display.Sprite;
	
	public class FontAssets extends Sprite
	{
		 [Embed(source="font/AlphaFitness.ttf",fontName="zhzFont1",mimeType="application/x-font")]
		 public var pixelFont1:Class;
		 
		 [Embed(source="font/WeibeiFont.ttf",fontName="zhzFont2",mimeType="application/x-font")]
		 public var pixelFont2:Class;
		 
		 [Embed(source="font/WindTailsFont.ttf",fontName="zhzFont3",mimeType="application/x-font")]
		 public var pixelFont3:Class;
		 
		 [Embed(source="font/YayaSimplifiedFont.ttf",fontName="zhzFont4",mimeType="application/x-font")]
		 public var pixelFont4:Class;
		 
		 [Embed(source="font/YegenyouSimplifiedFont.ttf",fontName="zhzFont5",mimeType="application/x-font")]
		 public var pixelFont5:Class;
	}
}
 

 

分享到:
评论

相关推荐

    FLEX字体助手.rar

    FLEX字体助手就是这样一个工具,它专为开发者和设计师提供了方便快捷的方式来处理字体嵌入问题,从而实现跨平台的字体一致性。 FLEX字体助手的核心功能在于生成嵌入字体编码。这个过程涉及到几个关键知识点: 1. *...

    Flex3.0设备字体,字体嵌入

    通过这种方法,可以将所需的字体文件编译进SWF文件中,或者在运行时动态加载到SWF文件中。这样一来,无论用户计算机上是否安装了该字体,应用程序都能正确显示文本。此外,嵌入字体还具有一些其他优点: - **抗锯齿*...

    Flex 使用中文设备字体 解决办法

    3. **引入字体库**: 将转换后的SWF文件添加到你的Flex项目中。你可以将其放在项目的资源目录下,以便于管理和引用。 4. **定义字体样式**: 在Flex的MXML或ActionScript代码中,使用`@font-face`定义新的字体样式。...

    flex开发android之加载网页

    本话题主要聚焦于如何利用Flex来开发一个能够加载网页的功能,甚至将其扩展成为一个简易的浏览器。下面将详细阐述这一过程中的关键知识点。 一、Flex与Android集成 Flex本身并不直接支持Android原生开发,但它可以...

    Flex开发辅助工具

    Flex3StyleExplorer是一个用于探索和测试Flex 3应用中的样式和皮肤的工具。通过这个工具,开发者可以直观地查看和修改组件的外观,包括颜色、字体、边框等样式属性,从而更好地定制用户界面。它允许开发者预览不同...

    ArcGIS Flex 专题地图制作的代码与说明

    设定文本内容、字体、大小、颜色以及对齐方式等属性,然后将其添加到GraphicsLayer中。如果需要动态显示数据,可以结合数据驱动的图形更新机制,根据地图上的选择或鼠标悬浮事件来实时更新标注内容。 四、实际操作...

    flex 嵌入文字样式

    在这个CSS选择器中,我们把`MyCustomFont`放在字体家族的首位,如果浏览器支持并且字体文件加载成功,那么Flex项目将使用这个自定义字体。如果失败,浏览器会依次尝试后面的字体。 `demo.css`可能包含类似上述的...

    flex 使用swc 包

    3. **资源**:包括图片、字体、样式表等,这些资源可以被多个组件或类共享。 4. **元数据**:关于组件或类的元信息,例如元数据可以指定组件的外观和行为。 描述中提到的“flex3引用的swc包”,表明这是一个适用于...

    30多个 flex3 源码(整理)

    9. **图表 柱状图 黄色/红色**:柱状图是另一种常见的数据可视化方式,Flex支持创建不同颜色和样式的柱状图,可以用于对比不同分类的数据。 10. **Alert 确定 取消 图片样式**:Alert对话框通常用于提示用户信息,...

    flex 图片轮播效果

    在Flex中,我们可以通过加载这个XML文件,解析其内容,并将每张图片的URL绑定到一个Image组件上。同时,我们可以创建一个定时器或计时器事件,每隔一定时间自动切换图片。用户还可以通过点击左右箭头或者滑动来手动...

    三个Flex的皮肤

    3. `skin_flex_dark_nite.mxml`:这是一个MXML文件,MXML是Flex中用于构建用户界面的标记语言。这个文件可能是其中一种皮肤主题的实现,它可能包含了组件的布局和样式设置。通过解析和加载这个MXML文件,我们可以将...

    flex编译优化方法

    2. **使用系统字体替代内嵌字体**:内嵌字体会增加编译时间和项目大小,使用系统默认字体可显著减少这些影响。 3. **定期清理工程**:通过右键点击项目并选择"Clean",可以清除编译缓存,解决可能导致编译问题的...

    Flex4.0中文API

    7. 模块化开发:Flex 4.0引入了模块(Module)的概念,允许将大型应用拆分为多个独立加载的模块,从而优化加载时间和内存使用。 8. 集成开发环境(IDE):Flex Builder或Flash Builder(Flex的开发工具)在Flex 4.0...

    Flex 基于Module模块的开发资料完整版

    Flex 基于 Module 模块的...在实际开发中,运用 Flex 的模块化开发方式,可以构建复杂且可扩展的用户界面,同时优化应用程序的性能和维护性。通过合理地组织模块,可以确保代码结构清晰,便于团队协作和项目长期维护。

    Flex tree的用法

    让我们深入了解一下Flex Tree的用法以及与XML数据结合的方式。 1. **Flex Tree的基本用法** - **创建Tree组件**: 在Flex中,你可以通过在MXML或ActionScript中定义`mx.controls.Tree`组件来创建Tree。 - **数据...

    FLEX 系统管理器 SystemManager

    3. **样式和字体获取**: 通过SystemManager,开发者可以访问嵌入的字体、全局样式以及document对象,这些对于应用的视觉呈现和交互至关重要。 4. **生命周期管理**: 当Flex应用启动时,一系列的事件序列发生。...

    flex Papervision 3D 事例

    9. **加载和解析3D模型**:学习如何加载外部3D模型文件,如.obj或.fbx格式,并在Papervision3D中显示它们。 通过深入研究这个案例,开发者可以将所学应用到自己的Flex 3D项目中,创造出富有创新和吸引力的3D Web...

    flex_tree扩展_时间轴

    3. **呈现器(Renderer)**:了解如何编写自定义的呈现器类,以改变组件中各个元素的显示方式。 4. **数据绑定**:利用Flex的数据绑定机制将数据模型与界面元素关联,实现动态更新。 5. **事件处理**:学习如何...

    Flex启动与初始化

    整个 Flex 项目确实可以载入到其它项目中的,但不是以 Module 方式载入而是通过普通方法加载,例如使用 SWFLoader 或 Loader 加载,SystemManager 作为顶级容器加入到项目的显示列表。 SystemManager 的 ...

    flex 经典 皮肤主题

    它们通过定义组件的外观,包括颜色、字体、边框、阴影等来实现。皮肤是主题中的核心元素,每个组件可以有一个或多个皮肤,以适应不同的状态和环境。Flex允许开发者自定义皮肤,以实现独特的用户界面设计。 三、CSS...

Global site tag (gtag.js) - Google Analytics