2009-12-25 65 views
3

我想知道是否(例如)按下了3鍵(KEY_NUM3)。
我試過getKeyStates,但它只檢測遊戲操作鍵。
我怎樣才能得到非遊戲操作鍵的狀態? (我已經覆蓋了Canvas的keyPressedkeyReleased函數並將鍵狀態存儲在一個數組中(我使用Vector進行存儲,但我認爲可以將它們存儲在一個數組中,如果這是問題),但這樣做似乎不是很漂亮)使用GameCanvas在J2ME中獲取按鍵

回答

3

在你的keyPressed使用傳入像這樣

protected void keyPressed(int keyCode) 
{ 
    //try catch getGameAction as can legally throw an exception 
    int gameAction = getGameAction(keyCode); 

    switch(gameAction) 
    { 
     case UP: 
      break; 
     case DOWN: 
      break; 
     case LEFT: 
      break; 
    } 

    switch(keyCode) 
    { 
     case KEY_NUM1: 
      break; 
     case KEY_NUM2: 
      break; 
     case KEY_NUM3; 
      break; 
    } 
} 
-1

keyCode我想這可能是 像下面的代碼

int key=getKeyStates(); 
// i mean keyStates(); 
if((key&down_pressed)!=0) 
{ 
//do movements 
} 

但可以是

if((key & Canvas.key_num3)!=0) 
{ 
//do something 
} 

//you can set the super() to true in the constructor