我正在尝试制作一个简单的游戏,玩家可以使用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)也不起作用!我很困惑这里发生了什么。
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试仅使用值而不用0作为前缀,并使用大写锁定对其进行检查。
使用65而不是065,最好也可以对其他人使用。
在下面的链接中找到有关键的字符代码的描述。
答案 2 :(得分:0)
以前导零开头的数字文字被解释为 八进制 (以8为底)。因此,数字文字065
代表53
的十进制值。这不是您要查找的键码。
其他数字文字均包含大于7的数字,因此不能解释为八进制。
除非您专门打算使用八进制表示法,否则只需省略前导零。