2

现在我正在尝试制作一些基于浏览器的游戏。但我有一些小问题。请打开下面的代码并检查它。

http://jsfiddle.net/thisizmonster/YVz6L/4/

  1. 有没有更好的解决方案来处理键盘输入?
  2. 移动时,我正在用跑步士兵改变形象。但是你可以看到我的士兵没有跑,但是在停止按键后,它就会开始跑。为什么会发生?
4

1 回答 1

1

1)我想知道只在keydown上移动你的角色并在keyup上阻止他是否会更好。不过,您必须小心,因为并非所有元素都支持该方法。我之前看过一些例子,表单元素被放置在屏幕外(例如位置:绝对;左:-999px;),并在页面加载时获得焦点。然后表单域接受按键并为其分配键处理程序。

2)是因为您不断将图像 src 重置为运行图像,这意味着它会一直转到第一帧。您可以通过在按键按下时增加计数器来解决此问题,并且仅在计数器 == 1 时更改图像。您还需要检测按键的释放,因此您可以更改图像并重置反0。

于 2011-09-15T04:26:52.863 回答