使用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行:
和普通的文本框一样的操作
我们的成果是:
![](http://bbs.9ria.com/attachment.php?aid=MzI1MDR8OGJmMmEwMmR8MTI4MjI2ODUxM3wxMTBlbGxmeHUrS1pTSTBTdlUvTmQ4ZWJobjF6U3pWaCthVFllSzk3T2ZlRlhqUQ%3D%3D&noupdate=yes)
![](http://bbs.9ria.com/images/default/attachimg.gif)
下载
(12.23 KB)
昨天 01:21
上面的一行是使用FTE,下面的是使用普通文本框.
我不得不承认:其实二者并没有什么显著区别(在本例中).
这个例子的作用仅仅是帮你入门FTE
者都在关注手机游戏
的开发,那么我来看看一个新特性(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行:
和普通的文本框一样的操作
我们的成果是:
![](http://bbs.9ria.com/images/default/attachimg.gif)
下载
(12.23 KB)
昨天 01:21
上面的一行是使用FTE,下面的是使用普通文本框.
我不得不承认:其实二者并没有什么显著区别(在本例中).
这个例子的作用仅仅是帮你入门FTE
![](http://bbs.9ria.com/images/smilies/default/smile.gif)
相关文章推荐
- 每天学一点flash(68)FTE文本引擎(一)
- 每天学一点flash(68)FTE文本引擎(一)
- 高效的渲染引擎——Direct2D入门
- 基于react后端渲染模板引擎noox发布使用
- 微信小程序入门教程--列表渲染多层嵌套循环及wx:key的使用
- 物理引擎Havok的一个简单实例(使用Ogre渲染)
- 前端动画渲染引擎pixi.js系列(5)Text文本和Graphics画笔工具
- Core中使用Razor视图引擎渲染视图为字符串 阅读目录
- Windows下 使用Python 3 调用讯飞 TTS 引擎实现文本转语音
- AS3文本处理:使用CSS格式化文本内容
- VTemplate模板引擎的使用--入门篇
- DELPHI、FLASH、AS3、FLEX使用Protobuf(google Protocol Buffers)的具体方法
- flash as3的单选框RadioButtonGroup的使用
- 使用统一模式的WebKit浏览器渲染引擎的利弊
- Spring Boot☞ 使用freemarker模板引擎渲染web视图
- [转] Flash文本引擎, 第二部分: 交互
- VTemplate模板引擎的使用--入门篇
- Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像
- 【Cocos2d-X开发学习笔记】第08期:渲染框架之文本类的使用
- Flash图表控件FusionCharts使用JavaScript渲染图表(不用Flash)