Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не работает removeEventListener (http://www.flasher.ru/forum/showthread.php?t=133651)

Dmitry Y 09.12.2009 20:11

Не работает removeEventListener
 
Создается спрайт - футб. поле, на нем дети - игроки.
В классе Player, помимо прочего (отточиями обозначаю код, не важный для вопроса):
Код AS3:

....addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
....addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
....buttonMode = true;
....useHandCursor = true;

и
Код AS3:

private function mouseDown(event:MouseEvent):void {
  this.parent.addChild(this); 
  ....
  this.startDrag();
  ...
}

Итак, на поле добавляются игроки, которых можно таскать мышью. Это работает.
При определенных условиях нужно отключать возможность таскать всех игроков, кроме одного.
Делаю так:
Код AS3:

private function mouseReleased(event:MouseEvent):void {
  this.stopDrag();
  ....
  if(........){
  onlyOne(this);
  }
}

где
Код AS3:

private function onlyOne(p:Player):void {
        for (var i:uint = 0; i < p.parent.numChildren; i++) {
                var pp:Player = Player(p.parent.getChildAt(i));
                if(p != pp){
                        trace(pp._p_name);        // - работает
                        pp.buttonMode = false;  // - работает
                        pp.useHandCursor = false;    // - работает
                        pp.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown);  // - НЕ РАБОТАЕТ
                }
 
        }
}

В результате trace работает, buttonMode и useHandCursor меняются (т. е. обращаюсь к кому надо)
А removeEventListener не работает! Остается возможность перетаскивать всех игроков.

В чем тут может быть дело?

bicubic_bublic 09.12.2009 20:16

функция может не та?
Код AS3:

pp.removeEventListener(MouseEvent.MOUSE_DOWN, pp.mouseDown);


Dmitry Y 09.12.2009 20:31

Точно!
Вот спасибо за такой быстрый ответ!


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

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