2011-09-15 188 views
2

现在我正在尝试制作一些基于浏览器的游戏。但我没有什么问题。请打开下面的代码并检查它。jQuery更改图像src属性

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

  1. 有没有更好的解决方案,处理键盘输入?
  2. 移动时,我正在改变图像与跑步士兵。但正如你所看到的我的士兵没有跑,但停止按键后,它会开始运行。为什么它发生?
+0

在Chrome中按预期工作,在Firefox 4中完全不支持。您在测试什么浏览器? – harpo

回答

1

1)我想知道只有在keydown上移动你的角色并阻止他在keyup上会更好。你不得不小心,因为并不是所有的元素都支持这个方法。我已经在表单元素放置在离屏之外的地方(例如position:absolute; left:-999px;),并且在页面加载时给出焦点的例子。表单域然后接受按键,并将键处理程序分配给它。

2)是因为您经常将图像src重置为运行图像,这意味着它会持续到第一帧。你可以通过增加一个计数器,而关键是关闭,只有当计数器= 1时才改变图像。你还需要检测到键的释放,所以你可以改变图像回来,并重置计数器为0.