Вызов возможно неопределенного метода addEventListener - PullRequest
2 голосов
/ 14 августа 2011

По какой-то причине я не могу добавить прослушиватели событий .. Я искал ошибку, но люди говорят, что это связано с наличием addEventListener вне функции.Однако мой находится внутри конструктора!

package {
import flash.events.*;

public class keyClass {
    var keyArray:Array = new Array  ;

    public function keyClass() {
        for (var i = 0; i < 999; i++) {
            keyArray[i] = false;
        }
        addEventListener(KeyboardEvent.KEY_DOWN,onKyDwn);
        addEventListener(KeyboardEvent.KEY_UP,onKyUp);
    }
    public function onKyDwn(e:KeyboardEvent) {
        keyArray[e.keyCode] = true;
    }
    public function onKyUp(e:KeyboardEvent) {
        keyArray[e.keyCode] = false;
    }
}

}

1 Ответ

1 голос
/ 14 августа 2011

Это потому, что addEventListener является функцией класса EventDispatcher , которую вы должны расширить, чтобы использовать ее.

Итак, в вашем случае измените определение класса на:

    public class keyClass extends EventDispatcher {

Кроме того, не беспокойтесь о просмотре интерфейса IEventDispatcher. По неизвестным причинам это было сделано невыполнимым. Единственный способ получить встроенную функциональность событий - это расширение EventDispatcher.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...