2011-04-19 65 views
0

我想识别我的J2ME项目中的一些密钥 - 即星号(*)键或命令按钮。 getKeyStates()不起作用,甚至当我使用keyPressed()(或keyReleased(),这是非常慢)它不能识别密钥。J2ME GameCanvas识别密钥

看来,NetBeans的甚至不承认星号键为有效按键(如,不调用keyPressed事件。)

我的代码是:

protected void keyPressed(int keyCode) 
{ 
    int ga = getGameAction(keyCode); 

    switch (ga) 
    { 
     case (LEFT): 
     { 
     } 
     break; 

     case (RIGHT): 
     { 
     } 
     break; 

     case (DOWN): 
     { 

     } 
     break; 

     case (UP): 
     { 
     } 
     break; 

     case (KEY_STAR): 
     { 
     } 
     break; 

     case (KeySoft1): 
     { 
     } 
     break; 
    } 

    switch (keyCode) 
    { 
     case (KeyFire): 
     { 
      //Act accordigly to the situation. 
      fbButton.FirePressed(); 
     } 
     break; 

     case (KeySoft1): 
     { 
      fbButton.FirePressed(); 
     } 
     break; 
    } 
} 

我使用NetBeans 6.5.1,MIDP 2.0。

回答

1

Canvas.KEY_STARkeyCode而不是gameAction

if (keyCode == Canvas.KEY_STAR) { 
    System.out.println("That's the Star"); 
}