我正在尝试做一个简单的游戏,玩家可以通过使用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,但当我按下a键时,什么也没有发生。所有其他的键都可以正常工作!当使用print( keyCode )查看a的keyCode是什么时,它会打印97。但是,将代码更改为keyIsDown(097)也不起作用!我很困惑这到底是怎么回事。
发布于 2018-10-17 11:01:38
这可能与您的胶囊锁打开或关闭有关。按键代码为:
a = 97
A = 65请参阅此处的图表http://www.asciitable.com/
发布于 2018-10-17 11:10:17
试着只使用值而不加前缀0,并用caps-lock检查它。
使用65而不是065,如果你也能对其他人这样做,那就更好了。
请查看下面的链接,了解密钥的字符代码说明。
发布于 2018-10-17 12:51:15
以前导零开头的数字文字被解释为八进制(基数为8)。因此,数字文字065表示53的十进制值。这不是你要找的密钥码。
其他数字文字都包含大于7的数字,因此不能解释为八进制。
只需省略前导零,除非您特别打算使用八进制记数法。
https://stackoverflow.com/questions/52846577
复制相似问题