![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Создал объект arst, добавил ему слушателя:
Объект распространяет событие: Родитель ловит событие: private function boom(e:MyEvent): void { var arst:Object = e.target; arst.removeEventListener(MyEvent.BOOM, boom) trace('BOOOOOOOOOOOOOOOOOOOOOM!!!!!!!') }; private function boom(e:MyEvent): void { var arst:Object = e.target; trace(arst.hasEventListener('BOOM')) arst.removeEventListener(MyEvent.BOOM, boom) trace('BOOOOOOOOOOOOOOOOOOOOOM!!!!!!!') }; |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Попробуйте currentTarget написать.
|
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
К сожалению, не помогло - всё то же самое((
|
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
А покажите константу MyEvent.BOOM, у неё значение 'BOOM' ?
|
|
|||||
|
А что это у вас за игра с ";"?
Там где нужно ставить - нет, там, где не нужно - стоит... Добавлено через 4 минуты Скорее, всё дело в константе BOOM. Добавлено через 5 минут что выдает? Добавлено через 7 минут Секунду... Нет, вряд ли там дело в константе. Добавлено через 10 минут Может быть, дело в том, что вы установили e.target as Object? Попробуйте поставить var arst:Тип вашего класса, который был указан при создании. |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Цитата:
я же написал - выдаёт true Как бы там ни было, проблему я уже решил: оказалось, что внутри функции boom() почему-то нельзя было удалять слушателей, которые на него ссылаются. Как только я перенёс removeEventListener за пределы функции boom(), всё заработало. Чудеса, да и только! Добавлено через 3 минуты Я так пытался делать много раз, не только в этом случае. Вылазит ошибка и требует указывать тип Object. Поэтому у меня практически везде, где в функции, вызываемой событием, есть обращение к цели, приходится указывать переменным, которые к ней приравниваются, тип Object |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
В данном конкретном примере используются только методы диспатчера, так что можно было кастануть к нему
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Спасибо за пояснения!
Насчёт ";": если Вы про это: То ";" ведь и стоит в конце строки. Или я не так понимаю словосочетание "конец строки"? Я, на самом деле, немного не так выразился. Я стараюсь ставить ";" не только в конце строки, но во всех местах разделения логических частей. Поэтому предпочитаю писать код так: а не так: . Если первый вариант чем-то плох, уточните, чем. А то я до сих пор думал, что ставить ";" - это всё равно, что ставить скобочки в конструкции - т.е. работать будет и без них, но лучше ставить, потому что так и надёжнее и опрятнее. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|