2011-10-10 46 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

相關問題