调用可能未定义的方法addEventListener

时间:2011-08-14 07:50:20

标签: actionscript-3

由于某种原因,我无法添加事件监听器..我已经搜索了错误,但人们说这是由于在函数外部有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 个答案:

答案 0 :(得分:1)

这是因为addEventListener是类EventDispatcher的函数,您必须扩展它才能使用它。

因此,在您的情况下,将您的班级定义更改为:

    public class keyClass extends EventDispatcher {

另外,不要费心查看IEventDispatcher界面。由于未知的原因,它已被无法实现。获取本机事件功能的唯一方法是扩展EventDispatcher