2011-12-29 106 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