相位器-按键释放

Phaser - On key release?

本文关键字:释放      更新时间:2023-09-26

如何检测密钥是否释放,而不是检测密钥何时关闭?

一个选项是使用onUpCallback。例如,在create函数中添加以下内容:

game.input.keyboard.onUpCallback = function (e) {
    // These can be checked against Phaser.Keyboard.UP, for example.
    console.log(e.keyCode);
};

我想你也可以在update函数中存储键是否按下,然后在每次迭代中检查它是否按下,如果你想跟踪键按下的时间。

不过,我不确定您会遇到什么样的性能问题,所以我可能会从onUpCallback开始。

按键时设置一个标志。在更新循环中,检查标志是否已设置,但按键不再按下:

//... somewhere
var downFlag = false;
//... in update
if(yourkey.isDown){
   downFlag = true;
}else{
   if(downFlag){
      downFlag = false;
      //do something
   }
}

但从James所说的开始