显示输入文本到另一个文本字段闪存AS3
问题描述:
请帮我...显示输入文本到另一个文本字段闪存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;
}
}
}
答
固定一点你的代码,并添加了一些东西,希望这可以帮助你:
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
“CaptureUserInput”是否是您的文档类?另外'myTextBox'和'myOutputBox'是从哪里来的? – Taurayi