Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Куча кнопок и лиснеры к ним (http://www.flasher.ru/forum/showthread.php?t=145012)

Castro 27.09.2010 18:39

Куча кнопок и лиснеры к ним
 
Есть 25 кнопок, к каждой из которых нужно прицепить по 2 евента - onMouseClick и onMouseOver.
Можно ли как-то это процесс оптимизировать, чтобы не прописывать addEventListener для каждой кнопки? Например юзать её instanseName, или ещё какой-то ID чтобы идентифицировать кнопку (экшн везде будет один и тот же для одинаковых евентов, только с разными параметрами, зависит от того, какая кнопки будет нажата)

Jewelz 27.09.2010 18:50

вешайте слушатель на родителя

Andriy 27.09.2010 18:56

пож пример

Jewelz 27.09.2010 19:12

[[кнопка1],[кнопка2]...[кнопка25] ] - родитель

допустим вы добавляете кнопки в контейнер cont, тогда

Код AS3:

cont.addEventListener(MouseEvent.ROLL_OVER, onOver, true);
cont.addEventListener(MouseEvent.ROLL_OUT, onOut, true);
 
private function onOver(e:MouseEvent):void
{
  switch(e.target.name)
  {
    case "but1": /*обработка*/ break;
    case "but2": /*обработка*/ break;
    // ...
  }
}
 
//аналогично onOut


Castro 27.09.2010 19:12

Кое-что нарыл

Код AS3:

var a:Array = [ki,dn];
 
function initBtn(arr:Array):void{
                for(var i:int = 0; i<arr.length; i++){
                        arr[i].addEventListener(MouseEvent.CLICK, playOver);
        }
 
        }
 
 
function playOver(event:MouseEvent){
trace(event.currentTarget.name);
}
 
initBtn(a);



Часовой пояс GMT +4, время: 20:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.