【问题标题】:JQuery read event key only on initial press?JQuery 仅在初次按下时读取事件键?
【发布时间】:2014-03-15 06:11:39
【问题描述】:

我正在使用 JQuery 来处理我的游戏中的所有按键,并且我很好地处理了事件,但我想限制玩家,因为如果他们按下一个键并按住它,它不会继续触发它。

这是我当前的代码:

    this.EventListener = function(){
    $(document).ready(function(){
        $(document).keydown(function(key){
            switch(parseInt(key.which, 10)){
                case AKey:
                case LeftArrow:
                    player.move(Left);
                    break;
                case DKey:
                case RightArrow:
                    player.move(Right);
                    break;
                case UpArrow:
                case Spacebar:
                    player.shoot();
                    break;
            }
        });
    });

有人知道如何实现这样的东西吗?我一直找不到这样的东西......

【问题讨论】:

    标签: javascript jquery event-handling keypress keyboard-events


    【解决方案1】:

    将方法从 keydown 更改为 keyup ;) 试试看。

    【讨论】:

    • 你知道是否有办法在 JQuery 按键触发之间添加等待时间?
    • @tanishalfelven - this post 描述了如何实现自己的密钥自动重复,从而控制它的速度。
    • 谢谢!你有很多帮助!
    • @adearriba 延迟用于动画。
    • @epascarello 我的错。 setTimeout 将使用布尔变量完成这项工作。
    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 2020-08-15
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多