![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2008
Сообщений: 21
|
делаю галерею. использую массив спрайтов (Sprite) thumbnails.
далее: for (i = 0; i < n; i++) {
thumbnails[i].addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
чтобы к примеру mouseDownHandler заключался в банальном распечатывании i для каждого thumbnails[i] |
|
|||||
|
думаю что нет. сделайте класс Trumbnails от Спайта и храните i в каждом экземпляре. а потом через target у eventa забирайте.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Сделать хеш thumbnail <-> n, а в обработчике брать target и искать в хеше индекс.
|
|
|||||
|
Регистрация: Apr 2008
Сообщений: 21
|
как это — сделать хеш?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
var hash:Dictionary = new Dictionary();
…
for (var i:uint = 0; i < n; i++) {
var thumb:InteractiveObject = thumbnails[i] as InteractiveObject;
thumb.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDownHandler);
hash[thumb] = i;
}
…
private function mouseDownHandler(event:MouseEvent):void {
var target:InteractiveObject = event.target as InteractiveObject;
trace(hash[target]);
}
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Замыкание.
.addEventListener(EVENT, function x(e:Event){mouseDownHandler(e,params,x)}); |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Наглядный пример того, как делать не надо.
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Ну это ваше личное мнение. Наглядный пример ограниченности взглядов
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Хорошо. Как будете отписываться от такого «обработчика»? И где передача, собственно, индекса, в вашем коде?
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Ну индекс, как я понимаю i нужно передать, так? Он передается (ну я его как params назвал).
Далее вопрос с отписыванием: если необходимо рано или поздно отписаться из самого лисенера, как ОЧЕНЬ часто бывает, то тогда все вообще просто: Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|