gpt4 book ai didi

javascript - 如何在 Phaser 中使用 A、S、D、W 键?

转载 作者:行者123 更新时间:2023-11-30 09:11:36 25 4
gpt4 key购买 nike

我正在使用 Phaser.io

我想使用 ASDW 键。我知道您可以像这样使用箭头键:

create(){
...
gameState.cursors = this.input.keyboard.createCursorKeys();
}

update(){
if (gameState.cursors.left.isDown) {
gameState.player1.setVelocityX(-160);
} else if (gameState.cursors.right.isDown) {
gameState.player1.setVelocityX(160);
}
}

我尝试将 .left. 切换为 .A.,将 .right. 切换为 .D.但它不起作用。

有什么想法吗?

最佳答案

我找到了一个解决方案:

  • 首先,声明将保存 future key 的变量:
let keyA;
let keyS;
let keyD;
let keyW;
  • 其次,在create()函数中,将key添加到对应的变量中:
keyA = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.A);
keyS = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.S);
keyD = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.D);
keyW = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.W);
  • 第三,让我们现在尝试按下按键,看看它们是否有效。在 update() 函数中,添加以下代码片段:
if(keyA.isDown) {
console.log('A key pressed')
} else if(keyS.isDown) {
console.log('S key pressed')
} else if(keyD.isDown) {
console.log('D key pressed')
} else if(keyW.isDown) {
console.log('W key pressed')
}

您可以按每个单独的键并检查 console 消息以查看它是否被打印。

要获取所有键盘键码列表以供将来引用:

console.log(Phaser.Input.Keyboard.KeyCodes)

关于javascript - 如何在 Phaser 中使用 A、S、D、W 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58383619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com