ActionScript 3 динамически вызывает кнопки - PullRequest
0 голосов
/ 20 мая 2009

Я пытался получить доступ к кнопкам в моем меню. Я только хочу добавить слушателей к элементам, которые находятся в загружаемом файле XML.

Дело в том, что я не знаю, как вызвать кнопку, которую я назвал "Var1_btn", когда у меня есть строка "Var1".

Кто-нибудь знает, как вызывать кнопки из цикла for?

for each(var chapter in presentation_xml.*)
{
    chapter + "_btn".addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}

это то, что я придумал ...

Ответы [ 4 ]

1 голос
/ 20 мая 2009

Предполагается, что вы загружаете XML в переменную с именем presentationXML, это выглядит так:

for each(var chapter in presentationXML.*)
{
    this[chapter + "_btn"].addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}
1 голос
/ 20 мая 2009

Вы можете использовать:

for each(var chapter in presentation_xml.*)
{
    this[chapter + "_btn"].addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}

но вы также можете использовать getChildByName , например:

for each(var chapter in presentation_xml.*)
{
    var myBtn:MovieClip = getChildByName(chapter + "_btn");
    myBtn.addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}

Вот хороший пост на , когда использовать getChildByName .

0 голосов
/ 20 мая 2009

Лучше использовать chapter.toString ().

Тот же эффект, но другой кодер будет читать его и понимать, что глава преобразуется из XML в его строковое представление при объединении со строковым литералом.

0 голосов
/ 20 мая 2009

DisplayObjectContainer :: getChildByName ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...