Flex嵌入字体的方法(二)
上次说了直接把字体嵌入到flex程序中的方法,这次写一下将字体编译成swf后供其它flex程序加载来调用的方法。
首先,新建一个actionscript的project,取名为FlexFont,将字体文件放到src/font目录下,主程序为
FlexFont.as文件,内容如下:
package {
import flash.display.Sprite;
public class FlexFont extends Sprite {
[Embed(source="font/adobehei.otf",fontName="AdobeHei",advancedAntiAliasing="true",mimeType="application/x-font")]
public var AdobeHei:Class;
}
}
编译project产生FlexFont.swf文件,到这里字体的swf文件已经编译完成。
然后,将生成的swf文件放到需要使用相应字体的flex程序目录下,在flex的Application中使用SWFLoader加载
FlexFont.swf,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
width="100%" height="100%" fontSize="20"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
private function initApp():void {}
private function fontLoadComplete(event:Event):void {
try {
Font.registerFont(event.target.content["AdobeHei"]);
txt.setStyle("fontFamily", "AdobeHei");
}
catch(e:Error){
trace(e.toString());
}
}
]]>
</mx:Script>
<mx:SWFLoader source="FlexFont.swf"
complete="fontLoadComplete(event);"
width="0" height="0" includeInLayout="false" visible="false"/>
<mx:TextArea id="txt" width="300" height="300"/>
</mx:Application>
这时,TextArea的字体已经被设置为FlexFont中的AdobeHei了。
相关文档:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ProgressBar control. -->
<!--
如何使用Flex ProgressBar
MyShareBook.cn 翻译
-->
<mx:Applic ......
http://www.mvelopes.com/mvelopes/online_budget.php flex
做的分析软件
http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube/
这玩意,Flex2的扭曲变形效果,呵呵,有可能你用得到flex中
http://webmessenger.yahoo.com/
yahoo的webmessenger
http://www.picnik.com/app
这个也不错
http: ......
这两天看了公司老总演示的一个效果,热图分布情况,感觉很直观。国内地图上很少有这种表现方式的。
g了一下发现以下:发现flex下有 IBM ILOG Elixir 可以用,不过这要花钱。
https://www.adobe.com/cn/products/flex/ibmilogelixir/
还有一个Heat API,可以再googlemap上叠加热图。
http://www.heatmapapi.com/ , ......
忘记解除和承担内查泄漏风险
你可以在 MXML 中使用 标记或大括号以便实现绑定功能,然而这些方法将会产生开销。此外,你不能够使用这些技术去除绑定。如果你希望对高性能应用程序进行优化,你可以使用 BindingUtils 类来绑定你的对象。 BindingUtils 类的使用方式有两种:
bindProperty() 方法是用于绑定共有属性的静态方 ......
原来是这样,
我一开始用的是flex_sdk_3.4.1.10084(Stable Builds),(由于sdk3.5有combobox的bug),但是在用RSL的时候,发现flash player 的AssetCache里就是没有swz,
原因是:我用的sdk是Stable Builds,它是没有swz的,
官网的解释是:
The Flex team dos not currently create signed versions of the major RSL ......