关于cc.tween

求助,在执行如下代码时,按下按键时间过久会导致运动变慢,请问怎么解决:
onKeyDown(event){
if(event.keyCode===cc.macro.KEY.j){
this.bool1=true;
}
if(event.keyCode===cc.macro.KEY.a){
this.goLeftAction.start();
}
else if(event.keyCode===cc.macro.KEY.d){
this.goRightAction.start();
}
},
onKeyUp(event){
if(event.keyCode===cc.macro.KEY.j){
this.bool1=false;
}
if(event.keyCode===cc.macro.KEY.a){
this.goLeftAction.stop();
}
else if(event.keyCode===cc.macro.KEY.d){
this.goRightAction.stop();
}
},
start () {

},
update(dt){
    if(this.bool1){
        this.delayAction.start();
        this.shootBullet();
    }
}

这里面执行了什么?

this.delayAction=cc.tween(this.node),delay(0.3);
shootBullet(){
let bullet=new cc.Node(“Bullet”);
let sp=bullet.addComponent(cc.Sprite);
sp.spriteFrame=this.spriteFrame;
bullet.addComponent(“Bullet”);
let pos=this.node.getPosition();
bullet.setPosition(pos);
let parent=cc.find(“Canvas”);
parent.addChild(bullet,5);
},

按下之后 this.bool1 一直都是 true 导致的吧。在 tween 调用 .call ,传给它一个动作完成之后的回调函数。

十分感谢,已解决