2009-12-25 2 views
3

Je voudrais savoir si (par exemple) la touche 3 est enfoncée (KEY_NUM3).
J'ai essayé getKeyStates mais il ne détecte que les touches d'action du jeu.
Comment puis-je connaître l'état des clés d'action autres que de jeu?
(J'ai remplacé les fonctions keyPressed et keyReleased de Canvas et de stocker les états clés dans un tableau (j'utilise un Vector pour le stockage, mais je pense que je pourrais les stocker dans un tableau aussi, si c'est le problème), mais cela semble pas être très agréable)Appuyez sur les touches dans J2ME avec GameCanvas

Répondre

3

dans votre ToucheEnfoncée utiliser le keyCode passé dans comme si

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

Je suppose que cela peut être quelque chose comme le code ci-dessous

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

mais peut être

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

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