键盘事件bug

使用1.7cocos

show:function () {
    this.node.setPosition(0, 0);
    this.Register_keyboardEvent();
},

hide:function () {
    this.node.x = 3000;
    this.Unregister_keyboardEvent();
},

// use this for initialization
onLoad:function () {
    // set initial move direction
    //this.turnUp();
    //this.Register_keyboardEvent();
},

onDestroy:function () {
    this.Unregister_keyboardEvent();
},


//注册键盘事件
Register_keyboardEvent:function () {
    cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
},

//卸载键盘事件
Unregister_keyboardEvent:function () {
    cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
},

onKeyDown:function (event) {
    switch(event.keyCode) {
        case cc.KEY.up:
            console.log('turn Up');
            this.turnUp();
            break;
        case cc.KEY.down:
            console.log('turn Down');
            this.turnDown();
            break;
        case cc.KEY.a:
            console.log('a key');
            break;
        case cc.KEY.b:
            console.log('b key');
            break;
    }
},

第二次调用就无法使用键盘

唉,看来只能用布尔控制了。 版主来看看哇。这是啥情况,场景不一样,注册键盘事件也需要不一样。这总不能凑合吧

相同的键还是会提前按下,boolean 方法不行。请问有哪位高手知道咋解决

上demo

cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);

cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);

这里有问题,场景A 跳转到 场景B 卸载场景A的键盘监听事件 ,注册场景B的键盘监听事件,但是场景B按键盘就没有任何反应。

用boolean 套用 show 和 hide 来判断当前场景是否显示 ,如果当前场景显示 就相应调用自定义function,但新问题又来了,如果注册一相同的键盘事件 会重复触发,并在不同场景,直接傻眼了。

coco 坑好多。

http://forum.cocos.com/t/cc-systemevent-on-key-down/41477
这里也有一个类似病例

有问题就提交demo,这样官方大神才好帮你看是哪里的问题

timerOnceSchedule: function () {
    this.unschedule(timeCallback, this );
    var timeCallback = function (dt) {
        cc.log("time: " + dt);
        this.Register_keyboardEvent();
    }
    this.scheduleOnce(timeCallback, 0.2);

},

加了延时暂时解决了。因为工期问题,暂时需要赶工,稍后奉上demo

做研发17年,接触coocs不久,庆幸的是js,很简单,顺便说一下,api文档改版后 很难用,不如以前的好用!

官方的大神们,能不能提供老版的cocos api 连接,新版的看的眼都花了

哈哈哈

确实没以前的API 看的清楚,现在只直接跳转到github.com 上面看,但是确实没以前看着醒目,真心话!

大概有俩月没碰cocos 因为涉及服务器端,没想到回头一看,确实看的眼花缭乱!之前例如查一个cc 从版面和颜色 最起码看得清楚。现在直接全白。傻了。

我刚刚用你的测试了一下是可以的(有可能实现方式不一样),希望你有空的时候做个 demo 发上来,谢谢

好的!多谢Knox、支持与帮助。