Я понимаю, что это старо, но сегодня оно было для меня новым.
Я не понимаю, почему вы хотите создать пользовательский класс кнопок. Я не думаю, что необходимо выполнить то, что вы пытались сделать.
function xmlLoaded(event:Event):void {
var pages:XML = new XML(event.target.data);
var i:int = 0;
for each (var page:XML in pages.page) {
var button:LinkButton = new LinkButton();
button.x = 25;
button.y = i * 50 + 25;
button.label = page.attribute("name");
button.url = page.attribute("url");
addChild(button);
trace(i++);
}
}
Функция выше хороша, но почему бы не добавить прослушиватель событий в цикл for? Добавьте строку:
button.addEventListener(MouseEvent.CLICK, gotoURL);
внутри цикла for, затем добавьте функцию:
function gotoURL(e:MouseEvent):void
{
navigateToURL(new URLRequest(e.target.url));
}
Это исключит необходимость создания внешних файлов и пользовательских классов.