所以我是Phaser的新手。在我的游戏中,我需要检测何时按下“ W”和“ S”键。我查阅了文档,但找不到。请帮帮我。
答案 0 :(得分:1)
首次设置Phaser.Scene
时,需要绑定到输入/键盘事件并相应地触发功能。
由于您实际上是在询问它的紧迫性,因此建议您检查keydown
事件。
在create()
中,使用以下命令注意 W 键:
create() {
// ...
this.input.keyboard.on('keydown_W', this.yourFunction, this);
// ...
}
现在,按下 W 按钮时,将调用yourFunction
方法。 S 的设置方法与此类似。
根据您的逻辑,您可以指向相同的功能,也可以使用其他功能。为此将传递触发它的输入事件,这是您可以根据需要确定触发它的键的方式。这是J.Do posted in their answer的片段,我已经对其进行了调整。
yourFunction(event) {
// Here you can see what's passed when Phaser triggers it.
console.log(arguments);
if (event.keyCode === Phaser.Input.Keyboard.KeyCodes.S) {
console.log('S was pressed');
} else if (event.keyCode === Phaser.Input.Keyboard.KeyCodes.W) {
console.log('W was pressed');
}
}
答案 1 :(得分:0)
您应该可以使用以下代码进行检测:
let code = event.keyCode;
if(code == Phaser.Input.Keyboard.KeyCodes.W)
{
// do something
}
第3阶段示例作为参考:
http://labs.phaser.io/edit.html?src=src/input/keyboard/retro%20leaderboard.js