有没有人遇到过这样的问题,即使用动态文本字段而不嵌入字体导致flash影片以非常慢的方式调整大小(我通过使用scaleX和scaleY属性调整文本字段的大小,我也尝试使用width和height属性但它的结果却一样)?如果我尝试将textfield的embedFonts属性设置为true,那么在调整大小时没有问题但是一旦我将embedFonts设置为false,那么flash窗口似乎会逐渐调整大小
更多信息:仅当文本字段文本包含许多字符(大约100个字符)时才会发生这种情况
答案 0 :(得分:0)
尝试使用FTE(Flash文本引擎),它比TextField快得多。这是一点性能测试。
public class TextFieldVsFteTest extends Sprite {
[Embed(source="Font.TTF", fontFamily="FontFamilyName", embedAsCFF='false')]
var _str:String;
var tl:TextLine = null;
public function TextFieldVsFteTest () {
var ef:ElementFormat = new ElementFormat();
var font:FontDescription = new FontDescription();
font.fontName = "FontFamilyName"
ef.fontDescription = font;
ef.fontSize = 12;
ef.color = 0x000000;
var tb:TextBlock = new TextBlock();
tb.content = new TextElement("<HERE IS YOUR 100+ CHARS>", ef);
tl = tb.createTextLine(null, 100);
addChild(tl);
tl.addEventListener(MouseEvent.MOUSE_MOVE, resizeHandler);
}
private function resizeHandler(e:MouseEvent):void {
tl.scaleX += 0.1;
tl.scaleY += 0.1;
}
}
当我使用TextField进行尝试时,它看起来很慢(如你所说)。但是通过FTE,它可以更快地调整大小。您可以详细了解FTE here
希望这有帮助。