![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 28
|
В классе. можете набросать этот кусочек кода, у меня пока не получается..(
|
|
|||||
|
Регистрация: Sep 2010
Сообщений: 28
|
так проблема в addEventListener же, как его изменить, он после изменений все равно не видит кнопки в функции, к массиву его нада как то прикручивать?
|
|
|||||
private var _btnList:Array; ... _btnList = []; ... for (var i:uint = 0; i < 10; i++) { var button:MyButton = new MyButton(); button.y = 10 * i; addChild(button); _btnList.push(button); button.addEventListener(MouseEvent.MOUSE_UP, button_mouseUpHandler); } private function button_mouseUpHandler(event:MouseEvent):void { var button:MyButton = event.currentTarget as MyButton; // на которую нажали var index:uint = _btnList.indexOf(button); // индекс в массиве var button2:MyButton = _btnList[index] as MyButton; // эта же кнопка по индексу из массива trace(button === button2); // true }
__________________
тут я |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 28
|
Спасибо, теперь все понятно и все работает
![]() |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
buttuon_ObjNames:Array=new Array(); for (var i:Number=0; i<10; i++) { var button:MovieClip=new MovieClip(); button.name="button_"+i buttuon_ObjNames.push(button); this.addChild(buttuon_ObjNames[i]); buttuon_ObjNames[i].addEventListener(MouseEvent.CLICK, onClickButton); buttuon_ObjNames[i].y=i*buttuonMO_ObjNames[i].height; } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Топикстартеру уже все равно, а Вам пару советов.
1) Не называйте массив buttuon_ObjNames, если он хранит НЕ имена. 2) У Вас есть ссылка на созданный мувиклип: var button:MovieClip=new MovieClip(); Зачем, засунув ее в массив (buttuon_ObjNames.push(button) , Вы перестаете пользоваться прямой ссылкой button и начинаете звонить соседу за столом по телефону: buttuon_ObjNames[i], заставляя плеер искать массив и дергать из него свойство по индексу? Мало того, что это нечитабельно, непонятна сама физзарядка.3) Имя, конечно, бесплатный хранитель данных. Но эти данные потом надо парсить из строки, вырезая и интерпретируя в другой тип. Либо писать монструозную колонку свитчей, что вообще не укладывается в динамику.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
1.Согласен.
2.Массив затем,что объекты создаются в цикле: var button... и значение button всё время перезаписывается 3.Просто через индекс массива обращаюсь, а имя... через имена привязываю другие данные из XML Если б я был профи, то и вопросов бы не задавал ) |
|
|||||
|
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
я бы хранил номер кнопки в самом классе кнопки
а потом вызывал бы конструкцию вида |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Я не спрашивал, зачем нужен массив. Я спрашивал, зачем в теле цикла обращаться к button через массив, когда button доступен прямо здесь и сейчас.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|