JS_双人格斗游戏 _移动键同时按下问题_已解决

JS_双人格斗游戏 _移动键同时按下问题

问题描述:

    if(keys.a.pressed){
        player.velocity.x = -1;
    }else if (keys.d.pressed){
        player.velocity.x = 1;
    }
这段代码在animate()循环函数中,接收键盘传来的参数,控制角色位置坐标的改变
但是,这是一个if-else条件判断语句,只能有一个生效
如果同时按下'a''d',函数只会判定角色朝左走!

解决方法

    if(keys.a.pressed && player.lastKey=='a'){
        player.velocity.x = -1;
    }else if (keys.d.pressed && player.lastKey=='d'){
        player.velocity.x = 1;
    }
给对象一个属性-lastKey,用来记录最后的按键是什么,当同时按下'a''d'时,根据lastKey的值控制角色朝左走还是朝右走
posted @   Espre-sso  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示