JavaScript p5键码

时间:2018-10-17 02:45:30

标签: javascript

我正在尝试制作一个简单的游戏,玩家可以使用wasd或箭头键移动球体。我有一些确定玩家动作的代码:

function playerMovement(){
  if (keyIsDown(UP_ARROW) || keyIsDown(087)) {
    print("up");
    player.xpos += 0 * player.v;
    player.ypos += -1 * player.v
  }
  if (keyIsDown(DOWN_ARROW) || keyIsDown(083)) {
    print("down");
    player.xpos += 0 * player.v;
    player.ypos += 1 * player.v;
  }
  if(keyIsDown(RIGHT_ARROW) || keyIsDown(068)) {
    print("right");
    player.xpos += 1 * player.v;
    player.ypos += 0 * player.v;
  }
  if(keyIsDown(LEFT_ARROW) || keyIsDown(065)) {
    print("left")
    player.xpos += -1 * player.v;
    player.ypos += 0 * player.v;
  }
}

给我带来麻烦的代码是

keyIsDown(065)

分开!字母a的键代码是065,但是当我按时什么也没有发生。所有其他键都工作正常!当使用print(keyCode)查看a的keyCode时,它将输出97。但是,将代码更改为keyIsDown(097)也不起作用!我很困惑这里发生了什么。

3 个答案:

答案 0 :(得分:0)

这可能与您打开或关闭大写锁定有关。关键代码为:

a = 97
A = 65

在此处查看图表http://www.asciitable.com/

答案 1 :(得分:0)

尝试仅使用值而不用0作为前缀,并使用大写锁定对其进行检查。

使用65而不是065,最好也可以对其他人使用。

在下面的链接中找到有关键的字符代码的描述。

答案 2 :(得分:0)

以前导零开头的数字文字被解释为 八进制 (以8为底)。因此,数字文字065代表53的十进制值。这不是您要查找的键码。

其他数字文字均包含大于7的数字,因此不能解释为八进制。

除非您专门打算使用八进制表示法,否则只需省略前导零。

相关问题