我用Java Applet做游戏,需要通过按'W','A','S','D'(上下左右)键来控制物体的移动,比如只要按了'W'键,就使物体向前移动一厘米,但是我发现,如果不断地按键不松开,比如想使物体一直向前移动就按住'W'键不松,会导致的情况却是界面出现死机?这是怎么回事?有没有什么办法可以限制这种情况?
听说可以设置个反应时间,如果按着不松,过多少ms就停止此事件。这个可行吗?具体该怎么做,老师们能不能简单的给出点代码示例?十分感谢了!!

解决方案 »

  1.   

    JAVA这反映确实不敢恭维。等待高手解答!
      

  2.   

    那是因为你没有用 keyDown 和 keyUp 来处理事件。按下 w 键不放会持续触发 keyPress 事件。你不应该用 keyPress,而应该是 keyDown 和 keyUp。
      

  3.   

    这里是我刚写的一个例子:
    http://blog.csdn.net/YidingHe/archive/2009/04/23/4102374.aspx
      

  4.   

    YidingHe多谢你的实例,太完美了