Posted by morningyi on 八 10, 2011 in
ActionScript
# 关于中文字体
一般常识觉得中文字体需要12号大小才能在Flash中显示清晰,否则就会模糊不清。前日一位做美术的朋友问起为何Zynga游戏中的中文字体虽小但显示的却非常清晰,一下子竟然无法给出合理的解释,因此小小的研究了一下,原来平时都忽视了这个问题,在此做个总结。
# 设备字体和嵌入字体
先弄清2个概念:设备字体和嵌入字体。在Fl工具中,和文字打交道总会遇到这2个字体,其实设备字体指的就是安装在用户机器上的本地系统字体,而嵌入字体是指通过Embed或者将字体包含在一个.swf文件中嵌套进主swf的字体。2者最主要的区别是:只有嵌入字体可以消除锯齿、可以旋转文字、可以设置字体的alpha值,所以要想让文字更清晰,前题是使用嵌入字体。
# 嵌套字体的文本描绘方式
Flash Player对于embedFonts为true的TextFiled对象,提供了两种不同的文本描绘方式:标准模式和高级模式。
标准模式:即用于描绘.swf文件中的所有矢量图形的方式,这种描绘方式对于中到大的字体(大约16像素或更大)通常是清晰易辨的,但对于小字体(12像素或更小)则是模糊难辨,因此也就解释了为什么12号大小以下的中文文字会模糊不清。
高级模式:Flash Player中一种被称为FlashType的一种特殊文本描绘器,是Saffron Type System的一种经许可的实现(由Mitsubishi Electric Research Laboratories创建,具体请google)。这种描绘器是特别为了清晰描绘小尺寸字体而特别设计的。因此要想使小尺寸的中文字体显示的更清晰,那必须使用此种描绘方式。
# 使用方式
先来看看例子,第一行文字使用了高级模式,第二行文字使用了标准模式,区别一目了然。
Read more…
标签:antiAliasType, 中文字体, 嵌入字体, 设备字体
Posted by morningyi on 七 20, 2011 in
ActionScript,
Flex
# 简介:
项目中经常要嵌入许多资源文件,比如图片(JPEG/PNG)、字体、动画swf、xml文件等等,普通做法一般都是使用Embed标签或者在 Flash CS中导出类并生成swc/swf的方式来使用,但总感觉嵌入资源管理不统一,或者需要借助Flash CS工具。另外如果项目从嵌入换成外部载入的方式,又要改动代码。很久前就知道swift-tool这个打包资源文件的开源工具类库,最近正好想起,所以 拿来试用一下,看看能不能使用到项目中。
swift-tool:http://code.google.com/p/swift-tool/
摘录官网的开头一段:“Swfit可以帮助你把图片、字体、声音、二进制数据等资源打包成一个swf文件(或者swc文件),你可 以在运行时动态加载并访问这些资源,实现运行时 共享库,减少主应用程序体积和加速下载。Swfit是一个Java开发的免费工具,因此你需要安装Java虚拟机才能使用它。”
Read more…
标签:Embed, swift-tool, 资源打包
Posted by morningyi on 七 2, 2010 in 未分类
Flash Builder和Flex SDK版本4之后的第一次更新。对于FlashBuilder 4.0.1主要是增加了对AIR2和FP10.1的支持,而Flex SDK 4.1则增加了双向布局的支持,并将AIR2和FP10.1内置了,详细内容:http://blogs.adobe.com/flex/archives/2010/06/flex_sdk_4_and_flash_builder_4.html
# Flash Builder 4.0.1
What’s new in Flash Builder 4 (4.0.1)
- Support for Adobe AIR 2
- Support for Flash Player 10.1
- Support for Flex SDK 4.1
- Bug Fixes
更新地址:http://www.adobe.com/support/flex/downloads_updaters.html
# Flex SDK 4.1
What’s new in Flex SDK 4.1
更新地址:http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4
Posted by morningyi on 五 28, 2010 in 未分类
# 简介
jquery库最小的也有70k左右,如果你不使用CDN,也不使用gzip,那么对于要求快速显示html来说,你可以使用google为你提供的免费CDN的jquery库——Google AJAX 库 API
# 快速使用
只需将你js文件的导入换成
...... src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"
其中/1/文件会自动加载最新的jquery库,如果想使用指定的jquery版本可以使用如下链接:http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js
可以使用google.load()来更个性化的调用Ajax类库
# Google Ajax 库支持的第三方的Ajax库
除了支持jquery之外,还支持Prototype等第三方的Ajax类库,特别新增了swfobject的支持,对于as3 developer来说,真是好事啊。
附Google AJAX 库 API支持的Ajax类库:
Posted by morningyi on 五 26, 2010 in 未分类
——HTML5不是用户应用的迫切需求,更多是厂商试图改变软件生态格局的战略需求。
(Trey:HTML5已经成为在浏览器端不占优势的厂商力图改变的武器)
——HTML5的兼容性鉴于各大浏览器的以往表现,有待观望,不宜立即迁移应用。
(Trey:对于前端的Developer来说除了要支持所有浏览器的HTML4,将来又要支持所有浏览器的HTML5,想想就是杯具)
——HTML5需要一个成熟完整的开发环境,记事本+浏览器对付不了。
(Trey:Dreamweaver CS5已经开始支持HTML5,看来又是Adobe走在了前面)
——HTML5功能的暴增,浏览器必须有一个高效的图形引擎和脚本引擎。
(Trey:对于HTML5中的图像引擎效率是否真的高于Flash Player,我持怀疑态度)
——HTML5需要杀手级应用来吸引和引导用户升级浏览器,最终完成HTML5终端的部署。
(Trey:说到了点子上,从来都是新需求引导用户,而不是新技术引导用户)
——Flash是一个不断在发展的技术,有很强的灵活性,HTML5不可能完全取代Flash,众多的开发人员也不会断然抛弃Flash。
(Trey:本来Flash和HTML就不是硬币的正反两面,我只觉得HMTL5的到来只会给Flash和Adobe前所未有的更大的空间)
(BTW:不吃Apple算什么,有那么多水果,还怕没得选择吗)
引自:http://flash.9ria.com/thread-52469-1-1.html
Posted by morningyi on 五 7, 2010 in 未分类
# 简介
SmartFoxServer 是专门为Adobe Flash设计的跨平台socket服务器,让开发者高效地开发多人应用及游戏。
SFS的客户端代码极其简洁、使用非常方便,对SFS的AS代码进行了简单的接触,发现非常容易上手,总结下来就是对SmartFoxClient类的操作,以及侦听SFSEvent的不同事件。
Document: http://www.smartfoxserver.com/_cn/docs/
AS3 API: http://www.smartfoxserver.com/_cn/docs/docPages/as3/html/index.html
# 代码初窥
// 声明SmartFoxClient变量
private var sfs:SmartFoxClient;
......
// 实例化SmartFoxClient对象
sfs = new SmartFoxClient(true);
// 注册SFS的事件
sfs.addEventListener(SFSEvent.onConnection, onConnection);
sfs.addEventListener(SFSEvent.onConnectionLost, onConnectionLost);
sfs.addEventListener(SFSEvent.onLogin, onLogin);
sfs.addEventListener(SFSEvent.onRoomListUpdate, onRoomListUpdate);
sfs.addEventListener(SFSEvent.onJoinRoom, onJoinRoom);
sfs.addEventListener(SFSEvent.onJoinRoomError, onJoinRoomError);
// Register for generic errors
sfs.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError)
sfs.addEventListener(IOErrorEvent.IO_ERROR, onIOError)
......
public function bt_connect_click(evt:Event):void {
if (!sfs.isConnected)
// 连接SFS服务器,端口号默认9339
sfs.connect("127.0.0.1");
else
debugTrace("You are already connected!");
}
......
// SFS连接事件
public function onConnection(evt:SFSEvent):void
{
// 连接是否成功标志
var success:Boolean = evt.params.success;
if (success)
{
debugTrace("Connection successfull!");
// 作为guest用户登录到名称为"simplechat"的Zone
sfs.login("simpleChat", "", "");
}
else
{
debugTrace("Connection failed!");
}
}
......
/**
* Handle room list
*/
public function onRoomListUpdate(evt:SFSEvent):void
{
debugTrace("Room list received");
// 自动进入当前Zone的默认房间
sfs.autoJoin();
}
......
总结:
1) 发起一个socket连接
2) 发送login到某个zone的请求,并处理onLogin和onRoomListUpdate事件
3) 发送autojoin请求,用户自动加入到默认room,但是我们还没有处理加入到默认room的事件
Read more…
Posted by morningyi on 一 4, 2010 in 未分类
我最自豪的两个RIA作品:sayjoy.com和enjoyfoto.com——前端技术+Adobe RIA技术的完美结合。
这两个网站是我在RIA实践道路上最满意的2个作品,虽然由于中国互联网用户付费意愿不强,加上公司业务调整暂时关闭了,但曾经在未有任何推广的情况下,两个网站的Alexa排名都在20万以内,以及用户的众多好评,都让我万分欣慰……
乐之印坊(www.enjoyfoto.com)

试用地址:http://enjoyfoto.riatea.com(由于服务器是国外的,速度稍慢)
这是一个用户在线制作相册、然后交付我们制作的网站,用户可以套用我们的模板、自由发挥最终制作出个性化的实物相册。核心的用户制作界面使用Flex技术,详见http://enjoyfoto.riatea.com,点击导航条右边“开始制作”按钮。
Sayjoy(www.sayjoy.com)

照片、视频、音乐在线制作网站,其中核心播放器是用纯AS3写成,由于服务器原因无法提供测试版本,请详见以下评论(国外相似网站http://www.onetruemedia.com)。
相关评论:
http://www.icerainbow.cn/2008/10/19/sayjoy-zaixianzhizuogerenduomeitixiangce.html
http://www.showeb20.com/?p=885
http://news.web20share.com/post/1160.html
http://www.showeb20.com/?p=442