flex 字体加载方式3
发布时间:2020-12-15 03:53:03 所属栏目:百科 来源:网络整理
导读:?flex 加载方式3:通过actionScript加载,通过loader加载字体然后调用getDefinitionByName()获得字体Class,注册字体后,就可以用了。 ? ? package {import flash.display.Loader;import flash.display.Sprite;import flash.events.Event;import flash.net.U
?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; } }? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |