AS3 Выяснение, какая кнопка была нажата из зацикленных динамически добавленных кнопок - PullRequest
0 голосов
/ 12 января 2012

Это сводит меня с ума сейчас.

У меня есть цикл, который создает кнопки. Каждая кнопка остается на экране, но прокручивается, что означает, что на экране одновременно может быть до 4 кнопок. Всего 241 кнопка.

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

Я что-то упускаю здесь очень просто?

if (canAdd == true)
        {
            canAdd = false;
            while (curName < nextName)
            {
                var names:namez = new namez();
                names.ID = curName;
                names.name = "ID"+(curName);
                mcArray[curName] = names;
                names.t2.dtf_txt.text = getNames[curName];
                names.y = -28;
                spinner.addChild(names);
                if (curName < nextName)
                {
                    curName = nextName;
                    trace("curName updated to "+curName);
                }
            }
            mcArray[curName - 1].addEventListener(MouseEvent.CLICK, checkMe);
        }

        timer.start();

    }

    public function checkMe(e:MouseEvent)
    {
        trace("you clicked " + e.target.name);
        //trace("clicked: "+e.target.ID)
        //var names:namez = e.target as namez;
        //trace("clicked" + names.ID);
        //trace("clicked"+namez.ID);
    }
}

Что именно должно быть в checkMe?

Как вы можете видеть, я перепробовал все виды - в классе namez даже есть внутренняя переменная ID, но вызов этого по-прежнему просто выдает ошибку.

1 Ответ

3 голосов
/ 12 января 2012

Вы должны использовать e.currentTarget вместо e.target

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