Я пытаюсь создать простой цикл, который создает 50 кнопок, добавляет их на экран, а затем при нажатии кнопки он отслеживает это число. Я могу заставить его работать, делая вещи, которые я считаю взломанными (например, используя расположение кнопок X/Y для определения его значения), но я бы скорее просто смог сохранить одно значение в функции.Создание функции внутри цикла (указатели?)
Сам код:
for (var a:int = 0; a < 5; a++) {
for (var b:int = 0; b < 10; b++) {
var n = (a * 10) + b + 1;
var btt:SimpleButton = new BasicGameButton();
btt.x = 20 + b * 50;
btt.y = 50 + a * 80;
addChild(btt);
btt.addEventListener(MouseEvent.CLICK, function f() { trace(n); });
}
}
В данный момент, когда кнопка нажата, она просто выводит "50". Есть ли способ «замораживания» значения n при создании функции для этой функции? (BasicGameButton - это просто квадратная кнопка, созданная во флэш-библиотеке)
Большое спасибо.
Это работает отлично. Большое спасибо, back2dos! – user352151