0

そこで、プロジェクトでいくつかのボタンを取得するためにforループを作成しました。これは質問です。質問をすばやく選択して移動するためのボタンが必要です。すべて手動で行うこともできますが、コードが長くて混乱するだけでなく、質問の数が常に同じであるとは限らないため、問題が発生します。

だから今私は持っています:

function SetQuestionSquares():void{
    for(var i:Number = 1; i <= TestProperties.QuestionLimit;i++){
        var QuestionSquare:questionsquare = new questionsquare;
        QuestionSquare.buttonMode = true;
        QuestionSquare.mouseChildren = false;
        QuestionSquare.x = NavLeft.x + (20 * i);
        QuestionSquare.y = NavLeft.y;
        QuestionSquare.questionsquaretext.text = i.toString();
        addChild(QuestionSquare);
        QuestionSquare.addEventListener(MouseEvent.CLICK, GoToQuestionNumber);
    }
    addChild(NavLeft);
    addChild(NavRight);
}

function GoToQuestionNumber(e:MouseEvent):void{
    WhichQuestion = ???; //I don't know what goes here. 
    UpdateQuestions();
    trace("testing"); //Gets called correctly, so its working.
}

私の問題は、どの正方形がクリックされたかを特定することです。「e」(クリック)イベントを取得する方法が必要なので、ユーザーがどのボタンをクリックしたかがわかります。

4

2 に答える 2

1

Eventオブジェクトの.targetプロパティが必要です。

WhichQuestion = e.target as questionsquare;
于 2012-07-26T14:51:10.060 に答える
0
function GoToQuestionNumber(e:MouseEvent):void{
    var WhichQuestion:DisplayObject = e.currentTarget as DisplayObject;
    UpdateQuestions();
    trace("testing");
}
于 2012-07-26T14:54:11.587 に答える