由于某种原因,我无法添加事件监听器..我已经搜索了错误,但人们说这是由于在函数外部有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;
}
}
}
答案 0 :(得分:1)
这是因为addEventListener
是类EventDispatcher的函数,您必须扩展它才能使用它。
因此,在您的情况下,将您的班级定义更改为:
public class keyClass extends EventDispatcher {
另外,不要费心查看IEventDispatcher
界面。由于未知的原因,它已被无法实现。获取本机事件功能的唯一方法是扩展EventDispatcher
。