Flex と ActionScript を使用して、ユーザーに 10 個の質問をするプログラムを開発しようとしています。(10 の質問すべてが、4 つの基本的な操作を表す 4 つの異なる関数によって尋ねられます。答え (ブール型) は配列に格納されます。すべての関数が同じになるため、プラス操作の関数をここに配置しました。フォーマット。
protected function ask_plus():Boolean
{
var num1:int = math.round(math.random() *100);
var num2:int = math.round(math.random() *100);
question.text = num1 + " + " + num2 + "equals = ?";
var answer:String = new String; //answer will be gotten from the panel where user writes the answer.
answer = answerInput.text; //i first tried this, but it gets blank answers as false answers.
if(int(answer) == (num1 + num2))
return true;
else
return false;
}
私の質問は、ユーザーが入力を完了したかどうかをどのように検出できるかです。event.Keyboard (keyUp) を入力として取得する別の関数を作成してみました。これは私が試したものです。
protected function check_if(e:Event):String
{
trace(event.keyCode);
while(event.KeyCode != 13) //13 representates the "ENTER" button
{
trace(event.keyCode); //until user presses enter, the answer to the question must not be returned.
}
if (event.keyCode == 13)
return answer_input.text;
}
しかし、ここでの問題は、answer_input (textInput) 領域からのイベントでのみ機能するように、この check_if を使用したいということです。私が欲しいのはそのようなものです
function a(b = 5)
{
trace(b)
}
この関数を a(); として使用すると 5 をトレースします。しかし、この関数を a(10); として使用すると、5 ではなく 10 をトレースします。同じ状況ですが、イベントがあります。次のようなものである必要があります。
protected function check if(e:answer_input.Event)
blabla...
か何か。