在用JAVA写一个PC上的游戏,想让主角出现连续技能。按一下“J”是一个消息,连续按3下"J"出现必杀技能。如何处理?
在J2ME上好像是有一个KEYREP****什么的方法,J2SE上如何处理?谢谢。

解决方案 »

  1.   

    j2se?
    keypressed是支持连续按键的呀?。。(@#*(¥
      

  2.   

    KeyEvent.getKeyCode()是获取按键的键代码,每个键的编码都不一样的,这样就可以区分了
      

  3.   

    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.WindowAdapter;import javax.swing.JFrame;public class TestKey extends JFrame {
    private long startTime = 0;
    private int keyCode = 0;
    private int count = 0; public void launchFrame() {
    this.addKeyListener(new KeyMonistor());
    setBounds(100, 100, 400, 400);
    setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    } public static void main(String[] args) {
    new TestKey().launchFrame();
    } private class KeyMonistor extends KeyAdapter { public void keyPressed(KeyEvent e) {
    long pressedTime = System.nanoTime();
    if (e.getKeyCode() == 74) {
    if (count == 0) {
    System.out.println("J发消息!");
    startTime = pressedTime;
    count++;
    } else {
    if (pressedTime - startTime <= 1000000000) {
    startTime = pressedTime;
    count++;
    } else {
    System.out.println("J发消息!");
    startTime = pressedTime;
    count = 1;
    }
    if (count == 3) {
    System.out.println("大招");
    count = 0;
    } }
    }
    } }
    }