Вот сделка: я работаю над личным портфелем в AS3 и столкнулся с проблемой, на которую не могу найти логического ответа. Я хочу, чтобы все (ну, большая часть этого) было редактируемым с файлом XML, включая мое меню. Мое меню - это просто Спрайт с текстом на нем и Твин-твин, ничего страшного. Но я забыл придумать, как определить, какой пункт меню я щелкнул.
Это в моем Main.as
private function xmlLoaded(e:Event):void {
xml = e.target.xml;
menu = new Menu(xml);
menu.x = 0;
menu.y = stage.stageHeight / 2 - menu.height / 2;
addChild(menu);
}
В Menu.as
public function Menu(xml:XML) {
for each (var eachMenuItem:XML in xml.menu.item) {
menuItem = new MenuItem(eachMenuItem);
menuItem.y += yPos;
addChild(menuItem);
yPos += menuItem.height + 3;
}
}
и в моем MenuItem.as все работает - у меня есть причудливая анимация, когда я наводю на него курсор, но когда я щелкаю пункт меню, я хочу, чтобы что-то появилось, конечно. Как я узнаю, на какую я нажал? Я пытался вытолкнуть все в массиве, но это не сработало (или, возможно, я делаю это неправильно). Также пробовал глобальный счетчик, но он тоже не работает, потому что значение всегда будет количеством элементов в моем XML-файле. Также пробовал e.currentTarget в моей функции щелчка, но когда я отслеживаю это, все они являются «объектными спрайтами» .. Мне нужно что-то, чтобы я мог дать каждому уникальное «имя»?
Заранее спасибо!