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 回答