您的位置:首页 > 其它

使用AS3中的FTE来渲染文本(FLash文本引擎入门)

2010-08-20 09:50 363 查看
最近很多开发
者都在关注手机游戏
的开发,那么我来看看一个新特性(FP10),使用这种方法可以很好的解决跨硬件的问题.

FTE (Flash文本引擎)

FTE 提供对文本度量、格式和双向文本的复杂控制的低级别支持。设计 FTE 的主要目的在于为开发人员创建文本处理组件
提供基础。 在下面简单的例子中,你将会发现使用FTE并不复杂.

下面
代码
需要FP10

package {

import flash.display.Sprite;

import flash.text.TextField;

import flash.text.TextFormat;

import flash.text.engine.*;

public class fte extends Sprite {

public function fte():void {

// FTE TEXT

var font_description:FontDescription = new FontDescription();

font_description.fontName="Verdana";

font_description.fontWeight=FontWeight.BOLD;

font_description.fontPosture=FontPosture.ITALIC;

font_description.renderingMode=RenderingMode.CFF;

font_description.locked=true;

var element_format:ElementFormat=new ElementFormat(font_description);

element_format.fontSize=40;

element_format.kerning=Kerning.ON;

element_format.color=0x000000;

element_format.alpha=1;

var text_element:TextElement=new TextElement("Hello Flash World",element_format);

var text_block:TextBlock = new TextBlock();

text_block.content=text_element;

var text_line:TextLine=text_block.createTextLine(null,500);

text_line.x=20;

text_line.y=40;

addChild(text_line);

// NORMAL TEXT

var text_field:TextField=new TextField();

var text_format:TextFormat = new TextFormat();

text_format.color=0x000000;

text_format.size=40;

text_format.bold=true;

text_format.font="Verdana";

text_format.italic=true;

text_field.x=18;

text_field.y=30;

text_field.width=460;

text_field.height=60;

text_field.text="Hello Flash World";

text_field.setTextFormat(text_format);

addChild(text_field);

}

}

}

1 至5 行:

导入所需类库.

9至14行:

使用
FontDescription

类来定义字体.通过锁定(第14行)字体和设置渲染模式为CFF(第13行)来增强文本的可读性,在小字号的情况下效果
更为明显,相关说明可以在官方文档中看到.

15至19行:

使用
ElementFormat

类来设置格式信息.但是我并没有使用文档中提到的基线对齐的新特性,关闭字距调整会提升文本的可读性.

20行:

使用
TextElement

类来表示我想显示并且已设置好格式的文本字符串,这块并没有什么特别的.

21至22行:

TextBlock

类会自己渲染自己,但是其更多功能是关于格式和控制.

23至25行:

使用TextLine

类来显示内容.如文档中所描述的一样,它仅仅是有很多只读的属性
.

23至40行:

和普通的文本框一样的操作

我们的成果是:





下载

(12.23 KB)

昨天 01:21

上面的一行是使用FTE,下面的是使用普通文本框.

我不得不承认:其实二者并没有什么显著区别(在本例中).

这个例子的作用仅仅是帮你入门FTE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: