2011-07-05 54 views
0

有沒有人遇到的問題,其中,使用動態文本時不嵌入字體導致Flash影片中一個非常緩慢的方式來調整(我使用scaleX和scaleY屬性調整文本框,我有也嘗試使用寬度和高度屬性,但它只是相同的結果)?如果我嘗試將textfield的embedFonts屬性設置爲true,那麼在調整大小時將沒有問題,但是一旦將embedFonts設置爲false,則Flash窗口似乎會逐位調整大小緩慢調整文本框時,如果embedFonts設置=假

更多信息:僅當textfield文本包含人物衆多(約100多個字符)

回答

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

希望這有助於。

+0

@ user790316,是它的幫助,或者你還是會遇到一些問題? – surlac