Filed Under:
Develop —
Comments Off2009/06/04
在上一篇使用字体元件的时候,我们接触到了TextField对象的embedFonts属性。在这里,我们进一步的探讨一下怎么在ActionScript中使用嵌入文本。
一旦我们在Flash IDE中嵌入了字体,swf文件中就包含了该字体的矢量信息。ActionScript也可以使用这些信息。继续上文的例子,我们添加如下代码:
var fmt:TextFormat = new TextFormat();
fmt.font = "STZhongsong";//华文中宋
fmt.size = 36;
fmt.color = 0x336699;
var txt:TextField = new TextField();
txt.text = "中文字型测试";
txt.autoSize = TextFieldAutoSize.LEFT;
txt.embedFonts = true;
txt.setTextFormat(fmt);
addChild(txt);
我们用ActionScript建立了一个文本框,内容为“中文字型测试”,字体为“华文中宋”。因为“测试”这两个字体信息没有被嵌入,所以不会被渲染出来。再来看看使用css的两种用法:
View full article »
大家都知道在Flash中嵌入中文字型有个最大的问题就是文件量的限制,所以也都知道在Flash中有选择的嵌入字型是一个有效的方法。但是对在ActionScript中嵌入字体的技巧就不一定完全了解了。最近因为项目的关系,让我好好把这方面问题做了一次梳理。作为温故知新,我们先来简单看看最简单常见的方法。

上图是Flash CS4的文字相关界面。为一个动态文本框嵌入文件的基本方法是,在Character Embedding的弹出面板填入你所需要的字符。在上方的列表中是一些常用的字符范围。比如做Loading显示的,只要嵌入第四项Numerals,或许再多加一个“%”的符号就可以了。
View full article »

Plug-In Media为BBC的一档儿童节目制作了这个Big and Small站点。全三维互动的操作让人联想到去年大热的Eco Zoo。不过这次是Papervision3D的杰作,因为开发者Seb Lee-Delisle本身就是Papervision3D的作者之一。
网站从技术上来说亮点是很多的,主要都是解决Flash高级3D开发中会遇到的问题。Seb在他的Blog文章中介绍了以下几点:
- PointSprite,这个是场景里很多的2D动画的容器。你可能有个疑问:为什么Papervision3D里面没有其他三位软件里面常见的Sprite(自动面向摄像机的平面),其实Papervision3D里的粒子就是一个这样的物体,只是因为是在粒子包里面的很多人忽略罢了。Seb他们的团队开发的PointSprite就是基于这种粒子渲染的方式,熟悉了原理你也可以轻松的扩展一个自己的PointSprite。
- 物理效果,去看看浴室里的浴帘,还有卧室的窗帘
- 模型动画,客厅的那个会跳舞的录音机,这个在Papervision3D 2.1版本以后应该会更容易做到吧。
- 很多2D液体(颜料,刷牙的泡沫等)会贴到房间上,这个比较有意思的。算法也是3D开发的一个难点。
- 光照的变化,在房间里拉上窗帘看看效果。我估计是做的贴图动画,不是计算光源的。
从体验上更是没得说,长达200日的开发周期不是一般的网站项目能够做到的。细节相当丰富,转场的处理,机位和相机动画的制作也很讲究,甚至还有彩蛋提供给浏览者去挖掘,强烈推荐大家自己去探索一下。