事件.视频游戏的按键开关



我想改变我的Js游戏的工作方式,基本上游戏不识别输入,只要语言不是英语,没有大写字母(只有当事件。键等于wasd)我如何修复这个bug ?谢谢!

window.addEventListener('keydown', (event) => {
if (!player.isDead){
switch (event.key) {
case 'w':
keys.d.pressed = true;
player.lastkey = 'd';
break;
case 'a':
keys.a.pressed = true;
player.lastkey = 'a';
break;
case 'w':
if(player.position.y > 0)
{
player.velocity.y = -10;
}
break;

case ' ':
player.Attacking();
if(player.lastkey === 'd'){player.SwitchSprite('punch')}
else{player.SwitchSprite('fpunch')}
break;
}
}

您应该使用event.codeevent.keyCode属性来保持语言独立性;

switch (event.code) // <- not event.key
case "KeyW":  // <- not 'w'
...

最新更新