Цитата:
|
и после окончания цикла они как бы перестают существовать, если к ним нету обращения
|
Ничего там не перестает существовать. Кнопки добавляются в дисплей лист. Единственно, что происходит - это перезапись ссылки на кнопку в переменной. А так как после окончания цикла, переменной присваивается ссылка на последнюю кнопку, она там и остается.
Можно сделать так:

Код AS3:
for (var i:int = 0; i < 5; i++) {
var button:MainButton = new MainButton();
addChild(button);
}
addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void {
if (e.target is MainButton) {
trace("работает");
}
}