我正在使用 HTML5 Canvas 和 javascript 开发一个小游戏。现在我想做的是让图像从左向右移动,当按下某个键时,它会改变图像,使其看起来更像是在移动。
现在我已经可以工作了,但我有点卡住了。代码是,当您按下左键时,他会将player.image更改为player.imgLeft,并在释放时将其更改回正常图像。
按下可以,但松开不行……我做错了什么?
这是简短的代码
// Things to do when keys are down
function onKeyDown(event)
{
if (event.keyCode >= 37 && event.keyCode<=39)
event.preventDefault(); // prevent arrow keys from scrolling the page
switch (event.keyCode) {
case 37: player.vx = -1; player.image = player.imgLeft; break; // left key
case 38: player.vy = -1; break; // up key
case 39: player.vx = 1; player.image = player.imgRight; break; // right key
}
}
// Things to do when keys are up
function onKeyUp(event)
{
switch (event.keyCode) {
case 37: case 39: player.vx = 0; player.imgLeft = player.image; break; // left or right key released
case 38: player.vy = 0; break; // up or down key released
}
}
最佳答案
如果你的原始图像在player.original中,请像这样修改。你应该像这样使用Onkeyup事件......
function onKeyUp(event)
{
switch (event.keyCode) {
case 37: case 39: player.vx = 0; player.image = player.original; break; // left or right key released
case 38: player.vy = 0; break; // up or down key released
}
}
关于javascript - 如何更改按键释放时的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15764312/