Изменение альфа MC при наведении - PullRequest
0 голосов
/ 11 апреля 2011

Похоже, это должно работать для меня, но, очевидно, я сделал что-то не так. Я не знаю, что именно, и это, по-видимому, большая часть ошибки новичка при поиске ответов в Google, поэтому мы будем благодарны за помощь.

this.addEventListener(MouseEvent.MOUSE_OVER,function() {
        this.alpha=0
        })

В MC я хочу, чтобы он стал невидимым, когда на него наведена мышь. Причина, по которой я помещаю этот код в MC, а не делаю из него экземпляр, заключается в том, что этот MC повторяется много раз. Слушатель работает, как проверено с помощью trace (). По какой-то причине альфа этого не делает. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 11 апреля 2011

Когда вы используете замыкание как есть (используя встроенную анонимную функцию), вы теряете область видимости.this - это не тот объект, над которым вы зависаете.

Вы можете обойти это, используя

var me:DisplayObject = this;

, а затем (исправленный код)

addEventListener(MouseEvent.MOUSE_OVER,function(event:MouseEvent):void {
    me.alpha=0
})

заметьте, что я также поместил параметр event: MouseEvent в ваш слушатель, потому чтов противном случае вы получите ошибки во время выполнения (разве вы их не получили?)

...