在AS3中自动缩放TLF文本

时间:2010-09-02 14:48:39

标签: actionscript-3 tlf

我需要一个动作脚本解决方案,允许动态文本放入具有预定尺寸(x,y,宽度,高度)的文本框中,然后向上或向下缩放文本,使其成为因为它可以在这些维度内而不滚动。 Wordwrap是自动的,不会有任何段落中断。

我有一个使用Flash经典文本的工作模型,但我希望能够利用TLF提供的内嵌样式。我还没有完全理解所有TLF功能。

有没有人知道这种情况是否已有解决方案 - 或者是否可能引导我朝着正确的方向前进?

2 个答案:

答案 0 :(得分:2)

@phil:这应该有帮助:http://aaronhardy.com/flex/size-text-to-container/

在线演示,右键单击源代码。

答案 1 :(得分:1)

嗯 - 这应该可行,但我不确定TLF字体大小有多精确......无论如何:

newFormat:TextFormat = new TextFormat();
newFormat.size *= myText.width / myText.textWidth;
myText.setTextFormat(newFormat);

现在 - 这基本上创建了一个 TextFormat 对象,并将其字体大小设置为 myText TextField )容器宽度(最大值) width)除以实际文本宽度。同样 - 如果TLF字体大小不那么精确,则大小线必须为:

newFormat.size *= Math.round(myText.width / myText.textWidth * 100) / 100;

100表示​​它被舍入到百分之一。

编辑:我真的相信这种方法不仅更简单,而且效率更高......我的意思是 - 这就是TextField.textWidth ......