2011-12-29 49 views
0

我爲一個空的階段創建了一個文檔類,並且希望創建一個輸出到文檔類中的輸出類。AS3從一個類創建一個文本字段

在輸出類中我想創建一個帶有設置和讀取文本方法的textField。

一個)空階段與文檔類 「撬」

B)文檔類 「撬」

package { 
    import flash.display.MovieClip; 
    import cOutput; 

    public class tommy extends MovieClip { 
    var _loc_1:cOutput; 

    public function tommy() { 
     _loc_6 = new cOutput; 
     _loc_6.setOutput();//("hurra");  
    } 
    } 
} 

c)中輸出類COutput可以(有或沒有延伸影片剪輯)

package { 
    //import flash.display.MovieClip; 
    import fl.controls.TextInput; 

    public class cOutput{ //extends MovieClip { 
    public var texteField:TextInput; 

    public function cOutput() { 
     texteField = new TextInput(); 
     addChild(texteField); 
     texteField.text = "Seriously... I need to be displayed." 
    } 
    public function setOutput(printValue:String){ 
     texteField.text = printValue; 
    } 
    } 
} 

我收到「定義fl.controls:無法找到TextInput」。

我讀到,你需要在庫中有這個(我把文本字段拖放爲經典文本,在舞臺上輸入文本)。 似乎我沒有得到這個工作。

任何想法我做錯了什麼?

回答

1

使用TextField類而不是TextInput類。該TextField類是最基本的文本組件:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html

在一個側面說明,您的通話addChild()不會做任何事情,因爲cOutput不是顯示對象。

+0

謝謝。我使它成爲TextInput並且它不起作用。然後(TextInput的ontop)我將cOutput添加爲Sprite(或MovieClip),但仍然沒有發生任何事情。然後,我添加了一個addChild(_loc_6)給tommy類,它就出現了。你能解釋一下,爲什麼我必須在舞臺上添加_loc_6,儘管我在cOutput中添加了一個精靈? – Dinkheller 2011-12-30 01:12:16

+0

當您將'cOutput'添加到'_loc_6'時,您只是將它添加爲小孩 - 這非常好。問題在於'_loc_6'沒有添加到'stage'(或者'tommy'類),所以你沒有看到它。只有當你將'_loc_6'類添加到'tommy'類時,纔會顯示它(閃現讓你這樣做意味着你可以建立一個顯示層次結構並在結束時顯示它)。如果你願意,你可以直接將'cOutput'類添加到'tommy'類中以便立即顯示它。 – divillysausages 2011-12-30 09:49:16