Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.09.2010, 18:39
Castro вне форума Посмотреть профиль Отправить личное сообщение для Castro Найти все сообщения от Castro
  № 1  
Ответить с цитированием
Castro

Регистрация: Sep 2009
Сообщений: 68
По умолчанию Куча кнопок и лиснеры к ним

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

Старый 27.09.2010, 18:50
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 2  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
вешайте слушатель на родителя
__________________
low +

Старый 27.09.2010, 18:56
Andriy вне форума Посмотреть профиль Отправить личное сообщение для Andriy Найти все сообщения от Andriy
  № 3  
Ответить с цитированием
Andriy

Регистрация: Sep 2010
Сообщений: 8
пож пример

Старый 27.09.2010, 19:12
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 4  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
[[кнопка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
__________________
low +

Старый 27.09.2010, 19:12
Castro вне форума Посмотреть профиль Отправить личное сообщение для Castro Найти все сообщения от Castro
  № 5  
Ответить с цитированием
Castro

Регистрация: Sep 2009
Сообщений: 68
Кое-что нарыл

Код 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, время: 10:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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