2010-09-09 94 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