|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Apr 2009
Сообщений: 21
|
Один слушатель событий на все объекты или разные внутри класса?
Собственно, вопрос производительности/размера файла:
Есть много экземпляров Класса MainClass. К каждому надо придернуть одинаковое событие. Как лучше? Так: obj1.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); ... obj9.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); function mouseReleased(event:MouseEvent):void { trace(event.target); } Cпасибо |
|
|||||
Регистрация: Apr 2009
Сообщений: 21
|
не, как бы событие не совсем одинаковое. надо определять, какой именно из объектов был задет.
проще говоря, в обработчике должно стоять event.target.strartDrag() или this.startDrag() А контейнер никакой прибавки в скорости или размере файла в этом случаи не дает |
|
|||||
event.target - целевой объект события. Это то, что вам нужно, если хотите определить какой объект был "задет"
Посмотрите для сравнения еще currentTarget http://help.adobe.com/ru_RU/AS3LCR/F...nts/Event.html
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Регистрация: Apr 2010
Сообщений: 67
|
Т.е. можно, например, повесить MOUSE_DOWN на группу а потом по currentTarget различать детей?
__________________
Mobile Ritmxoid |
|
|||||
[+4 06.05.14]
|
Цитата:
Если только не [a1,a2,a3...] тогда можно. А если на контейнер, тогда по таргет с мауслчилдрен тру, куррент таргет ссылается на родителя |
|
|||||
Нет, currentTarget вернет того, кому вы написали addEventListener (то есть контейнер группы). А вот target - того, кто получил событие (то есть элемент группы)
PS Если внутри элемента есть еще вложенные клипы, то есть вероятность того, что target будет ссылаться на один из них(вложенных). Для того, чтобы этого избежать, можно прописать элементам группы mouseChildren = false. Тогда event.target всегда будет ссылаться на элемент группы, а не на его детей.
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 14.02.2011 в 13:29. |
Часовой пояс GMT +4, время: 12:49. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|