我试图在文本框中捕获1个字母,但是当我输入多个字母时,flash只会注册,所以如果我键入'G'它不起作用,但如果我键入'GH'则会注册。 到目前为止,我正在捕捉它。 (部分代码)
function goToFrame8(event:MouseEvent):void
{
addChild(answerInput);
answerInput.x = 350;
answerInput.y = 350;
//next 'frame' button
addChild(next8);
next8.x = 650;
next8.y = 520;
next8.addEventListener(MouseEvent.CLICK, goToFrame9);
answerInput.randomText.addEventListener(TextEvent.TEXT_INPUT, inputEventCapture);
}
function inputEventCapture(event:TextEvent):void
{
text1 = answerInput.randomText.text;
}
function goToFrame9(event:MouseEvent):void
{
trace(text1);
removeChild(answerInput);
}
答案 0 :(得分:1)
尝试使用KeyboardEvent.KEY_UP
事件代替TextEvent.TEXT_INPUT
。按下键然后释放后,KEY_UP事件将触发。您添加事件侦听器的对象将需要焦点,但您的文本字段将具有焦点,因为您必须单击文本字段以键入其中。
function goToFrame8(event:MouseEvent):void
{
addChild(answerInput);
answerInput.x = 350;
answerInput.y = 350;
//next 'frame' button
addChild(next8);
next8.x = 650;
next8.y = 520;
next8.addEventListener(MouseEvent.CLICK, goToFrame9);
answerInput.randomText.addEventListener(KeyboardEvent.KEY_UP, inputEventCapture);
}
function inputEventCapture(event:KeyboardEvent):void
{
text1 = answerInput.randomText.text;
}
function goToFrame9(event:MouseEvent):void
{
trace(text1);
removeChild(answerInput);
}