2011-10-10 64 views
1

请帮我...显示输入文本到另一个文本字段闪存AS3

我试图表明输入文本到另一个文本字段上的运行时间。我想在影片剪辑中显示 myOutputBox。代码如下:

ActionScript 3的

package 

{

import flash.display.Sprite; 

import flash.display.Stage; 

import flash.text.*; 

import flash.events.*; 



public class CaptureUserInput extends Sprite 

{ 

    private var myTextBox:TextField = new TextField(); 

    private var myOutputBox:TextField = new TextField(); 

    private var myText:String = "Type your text here."; 



    public function CaptureUserInput() 

    { 

     captureText(); 

    } 



    public function captureText():void 

    { 

     myTextBox.type = TextFieldType.INPUT; 

     myTextBox.background = true; 

     addChild(myTextBox); 

     myTextBox.text = myText; 

     myTextBox.addEventListener(TextEvent.TEXT_INPUT, textInputCapture); 

    } 



    public function textInputCapture(event:TextEvent):void 

    { 

     var str:String = myTextBox.text; 

     createOutputBox(str); 

    } 



    public function createOutputBox(str:String):void 

    { 

     myOutputBox.background = true; 

     myOutputBox.x = 200; 

     addChild(myOutputBox); 

     myOutputBox.text = str; 

    } 



} 

}

+0

“CaptureUserInput”是否是您的文档类?另外'myTextBox'和'myOutputBox'是从哪里来的? – Taurayi

回答

1

固定一点你的代码,并添加了一些东西,希望这可以帮助你:

public class CaptureUserInput extends Sprite 
    { 

    private var initialText:String = "Type your text here."; 

    public var myTextBox:TextField = new TextField(); 

    public var myOutputBox:TextField = new TextField(); 

    public function CaptureUserInput() 
    { 
     captureText(); 
    } 

    public function captureText():void 
    { 
     createInputBox(); 

     createOutputBox(); 

     myTextBox.text = initialText; 

     //reset input field so user can write 
     myTextBox.addEventListener(FocusEvent.FOCUS_IN, focusInputIn); 

     //capture text 
     myTextBox.addEventListener(TextEvent.TEXT_INPUT, textInputCapture); 

    } 

    //this is almost your code, refactored in a function for clarity 
    public function createInputBox():void 
    { 

     myTextBox.type = TextFieldType.INPUT; 
     myTextBox.background = true; 

     myTextBox.y = 100; 
     addChild(myTextBox); 
    } 

    //just set the text of the output to the contents of the input 
    public function textInputCapture(event:TextEvent):void 
    { 
     myOutputBox.text = myTextBox.text; 
    } 

    public function createOutputBox():void 
    { 

     myOutputBox.y = 200; 
     addChild(myOutputBox); 

    } 

    public function focusInputIn(event:Event):void 
    { 
     if(myTextBox.text == initialText) 
     myTextBox.text =""; 
    } 

} 
+0

我可以将TextField放在动画片段内吗? – user1626744

+0

是的,当然,只需将函数createOutputBox()中的addChild更改为:my_movieclip.addChild(muyOutputBox)。只要确保my_movieclip图形存在! (或者通过代码声明并添加它)。如果您告诉我此MovieClip来自哪里,我会更新答案代码。 – danii

相关问题