我在舞台上有一个TLF文本字段。我试图在简单的flash文档中测试它。
我的代码接受了一些我解析的xml。 xml会有所不同,并不会始终更改文本字段的所有属性。例如,在一种情况下,我只想改变字体的大小。在另一种情况下,我只想更改字体的对齐方式。
我正在使用TLF文本字段,因为我们将翻译成阿拉伯语,并且我已经使用了从右到左的文本。
这些是我需要在代码中编辑的一些属性:
任何编码帮助都会很棒。我已经看到了文本流和文本布局的想法,但我显然没有正确使用它,因为我无法让它工作。
答案 0 :(得分:0)
很久以前我放弃并停止使用TLF字段。我有一个项目,请求动态addind和从/到阶段删除tlf文件。这是该项目的代码:
这将动态生成默认格式
var config:Configuration = new Configuration();
var defTextFormat: TextLayoutFormat = new TextLayoutFormat();
defTextFormat.textAlign = TextAlign.LEFT;
defTextFormat.fontFamily = m_strFontName;
defTextFormat.fontSize = m_nFontSize;
defTextFormat.fontWeight = FontWeight.BOLD
defTextFormat.paddingLeft = 3;
defTextFormat.paddingTop = 3;
defTextFormat.paragraphStartIndent = 3;
defTextFormat.paragraphSpaceBefore = 3;
config.defaultLinkActiveFormat = defTextFormat;
config.defaultLinkHoverFormat = defTextFormat;
config.defaultLinkNormalFormat = defTextFormat;
config.textFlowInitialFormat = ITextLayoutFormat( defTextFormat );
m_textFlow = new TextFlow( config );
成员m_textFlow包含ref到TLF字段。 要添加和删除元素,请使用m_textFlow.addChild(p);其中p是段落元素 见:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flashx/textLayout/elements/ParagraphElement.html
要更改FontSize并为元素着色,例如:
var _p:ParagraphElement = ParagraphElement( m_textFlow.getChildAt( iChild ) );
for ( var iParChild: uint = 0; iParChild < _p.numChildren; ++iParChild )
{
_p.getChildAt( iParChild ).color = color;
_p.getChildAt( iParChild ).fontSize = nRatio;
...
也许这可以帮到你。