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

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

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

Регистрация: Jan 2012
Сообщений: 836
По умолчанию removeEvent

У меня на сцене расположено несколько объектов класса. В этом классе есть к примеру ф-ция сложения и текстовые поля, куда выводится результат. Также есть ф-ция удаления слушателя на ф-цию сложения по нажатию на кнопку, то есть получается если объектов 6, то и кнопок 6.
Код AS3:
removeEventListener(Event.ENTER_FRAME, rem_sloj);
Когда нажимаешь на любую из кнопок, слушатель удаляется разом у всех объектов, а не только у того, в котором была нажатая кнопка, от того получается что было бесполезно создавать 6 объектов, если removeEventListener один на всех, как сделать каждому из них по removeEventListener? Чтобы при удалении удалялся слушатель только у того объекта класса, на чью кнопку мы нажали

Старый 14.05.2014, 01:03
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 2  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Код AS3:
obj.addEventListener(MouseEvent.CLICK, onClick);
 
function onClick(e:MouseEvent){
  var obj:MovieClip = e.currentTarget as MovieClip;  //jобъект по которому кликнули
   obj.removeEventListener(MouseEvent.CLICK, onClick);
 
}
создай код внутри объекта

Старый 14.05.2014, 01:22
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 3  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
А не, чет не получилось.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Выдаёт такую фигню. Я просто попробовал не с кнопкой, а по таймеру
Код AS3:
private var obj:MovieClip;
 
obj.addEventListener(Event.ENTER_FRAME, kml);
obj.addEventListener(MouseEvent.MOUSE_OVER, _shere);
tm_info = new Timer(2000);
tm_info.addEventListener(TimerEvent.TIMER, she);
 
private function _shere(event:MouseEvent):void
		{
			tm_info.start();
		}
 
private function she(ev:TimerEvent):void
		{
			tm_info.stop();
			obj= ev.currentTarget as MovieClip;
            obj.removeEventListener(Event.ENTER_FRAME, kml);
 
		}


Последний раз редактировалось Godwarlock; 14.05.2014 в 03:37.
Старый 14.05.2014, 04:23
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
А не, чет не получилось.
Смешно. obj= ev.currentTarget as MovieClip is it NULL !!! Потому, что это таймер, а не мувиклип. Идем и читаем мануалы по Event
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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