求助!!cocos2d-js android不能调用按键事件?

我用下列方式在html中可以获取到键值,但是编译后在android中捕捉不到按键。是否有哪里的标志位需要开启?
代码如下:

    onEnter:function(){
        this._super();
        cc.eventManager.addListener({
            event: cc.EventListener.KEYBOARD,
            onKeyPressed: function(keyCode,event) {
                cc.log("KEYBOARD clicked. keycode:" + keyCode);
            },
            onKeyDown: function(keyCode, event){
                cc.log("KEYBOARD clicked. keycode:" + keyCode);
            }
        }, this);
    },
    onExit:function(){
        this._super();
        cc.eventManager.removeListeners(cc.EventListener.KEYBOARD);
    }


```

我的问题和你一样啊,楼主解决了没!

解决了,需要修改一个文件然后重新编译。
默认cocos2d-js,只在h5的情况下支持按键。所以js_boot.js有个地方要修改:
var capabilities = locSys.capabilities = {“opengl”:true};
if( locSys.isMobile ) {
capabilities"accelerometer"] = true;
capabilities"touches"] = true;
capabilities"keyboard"] = true;
} else {
// desktop
capabilities"keyboard"] = true;
capabilities"mouse"] = true;
}

这个js_boot.js文件在哪儿。。。

按照你的方法怎么还是不行…我发布到android之后按键还是没有响应。。

顺便问一下怎么编译啊

再问一下楼主,发布到安卓之后键盘可以响应,但是当我把几个字母映射到手柄上的时候按手柄的某个键却不会响应键盘事件,求解

安卓新版本只支持上报几个常用键,例如上下左右,确定,返回,home。
重新编译执行cocos compile -p android就行了。需要删除obj文件夹。
js_boot.js的位置,请自行搜索一下。

安卓上键盘响应只支持抬起,居然不支持按下,怎么破。。

破不了,如果你要做tab和drap,要自己写延时器去处理。参考移动浏览器的做法,300ms才响应click。