Я пытаюсь динамически добавлять кнопки, а затем назначать им прослушиватели событий. За что мой код,Action Script: вызов соответствующих функций при нажатии кнопки
var i=0;
var step=50;
for each (var child:XML in courseXML.footer.tray.elements())
{
var thumbClip:thumb = new thumb();
//set name
thumbClip.name = "mc_thumb" + (i + 1);
trace("thumbClipname:: "+thumbClip.name);
//set the x and y values
thumbClip.x = 620 + (i * step);
thumbClip.y = 560;
//attach the newly created instance to the container
addChild(thumbClip);
trace("thumbClip:: "+thumbClip);
//attach icon image from xml path
thumbClip.thumbLoader.source = child.icon;
trace("thumbClip.thumbLoader.source: "+thumbClip.thumbLoader.source);
//add listeners
trace("Node name "+ child.localName());
if(child.localName().toLowerCase() == "feedback");
{ trace("gotoFeedback..");
thumbClip.addEventListener(MouseEvent.CLICK, gotoFeedback);
}
if(child.localName().toLowerCase() == "resources");
{ trace("gotoResources..");
thumbClip.addEventListener(MouseEvent.CLICK, gotoResources);
}
if(child.localName().toLowerCase() == "glossary");
{ trace("gotoGlossary..");
thumbClip.addEventListener(MouseEvent.CLICK, gotoGlossary);
}
if(child.localName().toLowerCase() == "discussion");
{ trace("gotoDiscussion..");
thumbClip.addEventListener(MouseEvent.CLICK, gotoDiscussion);
}
thumbClip.buttonMode = true;
i++;
}
Итак, наконец 4 кнопки отображается на сцене, и при нажатии на любой кнопке все четыре функции gotofeedback, gotoResources, gotoGlossary, gotoDiscussion
называется. Как вызвать соответствующие функции при нажатии кнопки? Благодаря!
The four functions are:
function gotoFeedback(e: MouseEvent):void
{
trace("gotofeedback fn called..");
}
function gotoResources(e: MouseEvent):void
{
trace("gotoResources fn called..");
}
function gotoGlossary(e: MouseEvent):void
{
trace("gotoGlossary fn called..");
}
function gotoDiscussion(e: MouseEvent):void
{
trace("gotoDiscussion fn called..");
}
Где ваши функции gotoFeedback, gotoResources и т. Д. Определены? – Barett
Вам нужно будет показать больше информации, чтобы диагностировать эту проблему. Как отметил Баретт, покажите код для ваших функций, названных 'goto'. Кроме того, проделали ли вы простую отладку с помощью операторов трассировки? Это всегда самый простой способ выяснить проблему, если вы отлаживаете навыки, которые все еще нуждаются в переработке. ;) –