0

テキストボックスに1文字をキャプチャしようとしていますが、フラッシュは複数の文字を入力したときにのみ登録されるため、「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);
}
4

1 に答える 1

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);
}
于 2013-04-11T21:39:03.377 に答える