javascript - 如何更改按键释放时的图像

标签 javascript html canvas keyevent keyrelease

我正在使用 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/

相关文章:

html - 如何为html中的所有粗体文本提供不同的字体?

html - 有没有办法像在 HTML/CSS 中的 Word 中一样制作双线/三线?

javascript - 随机的 youtube 视频和 API

javascript - Firefox 鼠标事件不起作用

javascript - 两个 html Canvas 彼此重叠,一个游戏层和一个 GUI 层。好坏?

javascript - JavaScript 中的 "class fields"是什么?

javascript - 如何与母版页的相关CSS相关?

javascript - MongoDB 数组与对象

javascript - 如果有人已经在里面,ReactJs 会阻止某人加载页面

javascript - 计算 Canvas 中线与圆的交点坐标和线的度数