2010-09-09 46 views
3

我试图尝试TLF文本,因为它是Flash CS 5中的默认设置,但我无法完成最简单的任务,请更改其值。此工程采用了经典的文本框,但无法与TLF:我在舞台上放了一个TLFTextField,但无法通过代码访问它

import flash.display.MovieClip; 

public class CumpleTiempos extends MovieClip 
{ 

    public var t:TLFTextField; 
    public function CumpleTiempos() 
    { 

     myText.text = "I'm a classic text" 
    } 
} 

但随着TLF文本都没有,你能告诉我它是如何做,有必要提及的是,TLF文本必须与创建很重要Flash IDE,而不是代码。

谢谢你,直到他们被添加到舞台

+0

发布你的根,请 – Eugene 2010-09-10 11:23:35

+0

的http:// DL .dropbox.com/u/2455736/testTLF.zip(.fla和.as) – MrAn3 2010-09-11 12:32:08

回答

0
import fl.text.TLFTextField; 
    import flashx.textLayout.formats.TextLayoutFormat; 
    import flashx.textLayout.elements.TextFlow; 

    var myTLFTextField:TLFTextField = new TLFTextField(); 
    addChild(myTLFTextField); 
    myTLFTextField.x = 10; 
    myTLFTextField.y = 10; 
    myTLFTextField.width = 200 
    myTLFTextField.height = 100; 
    myTLFTextField.text = "This is my text"; 

    var myFormat:TextLayoutFormat = new TextLayoutFormat(); 
    myFormat.textIndent = 8; 
    myFormat.color = 0x336633; 
    myFormat.fontFamily = "Arial, Helvetica, _sans"; 
    myFormat.fontSize = 24; 

    var myTextFlow:TextFlow = myTLFTextField.textFlow; 
    myTextFlow.hostFormat = myFormat; 
    myTextFlow.flowComposer.updateAllControllers(); 

via

+0

我想在IDE中使用“绘制”的文本框,而不是使用addChild(myTLFTextField)添加; – MrAn3 2010-09-11 12:26:05

3

TLFTextField对象不能在ActionScript使用。

(假定TLFTextField实例在舞台上以 “文” 名):

package { 
    import flash.display.*; 
    import flash.events.*; 

    public class Text extends Sprite { 

     public function Text() { 
      trace(text); 

      this.addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); 
     } 

     private function _onAddedToStage($e:Event):void { 
      trace(text); 

      this.removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); 
     } 

    } 

} 

输出:

null 
[object TLFTextField] 
+1

这对我有用。应该需要接受提问者... – ddekany 2012-12-02 11:20:17