Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (753)
Games in Android Showcase (228)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  MIDP buttons problems (i.e KEY_NUM0)  (Read 1984 times)
0 Members and 1 Guest are viewing this topic.
Offline javamobilegame

Senior Newbie

Java games rock!

« Posted 2005-03-13 16:46:03 »

Excuse me, my program apply GameCanvas,
and then apply this:
public void keyPressed (int keyCode) {
int gameCode = getGameAction(keyCode);
switch(gameCode) {
case Game_A:
case KEY_NUM0:

All buttons can work but except KEY_NUM0,
if :
KEY_NUM0-> Huh??
Thank you very much !
Offline davidaprice

Junior Devvie

« Reply #1 - Posted 2005-03-14 08:30:49 »

It seems like the phone you are using does not have any game action associated with key '0'. This is quite normal.

If you want to know what key was pressed, you don't need to use getGameAction - the value of parameter keyCode is what you need. It will take values like KEY_NUM0. If the key has a label which is a Unicode character, keyCode will be the same as its Unicode number (e.g. KEY_NUM0 is 48, Unicode for '0'); if the key is some special key like left-softkey, it will have some non-standard negative key code chosen by the manufacturer.

If you want to know what the key conventionally 'means' in a game, use getGameAction. Not all keys mean something in a game, and it's common that KEY_NUM0 has no game action (so getGameAction returns 0). The mapping between keys and game actions is not always the same on different phones, especially if the phones are like Nokia 3650 with unusual key-pad layouts.

Sometimes two different keys can have the same game meaning, and hence they have the same game action. E.g. usually the 'up' key (or moving the joystick up) and KEY_NUM2 both mean UP.

In MIDP 2.0, GameCanvas has a method getKeyStates which returns the states of all the game keys. Since it has to tell about all the keys in one 32-bit integer, it uses one bit per key (1 for pressed, 0 for not pressed). So instead of writing:
   if (gameAction == UP)
you write:
   if ((keyStates & UP_PRESSED) != 0)
Note that you use the binary-arithmetic '&', not the boolean-logic '&&'.
Offline javamobilegame

Senior Newbie

Java games rock!

« Reply #2 - Posted 2005-03-14 09:06:23 »

Thanks for your reply, and your explaination is very detailed. Thank you very much!! Cheesy
Pages: [1]
  ignore  |  Print  

nelsongames (13 views)
2018-04-24 18:15:36

nelsongames (11 views)
2018-04-24 18:14:32

ivj94 (586 views)
2018-03-24 14:47:39

ivj94 (49 views)
2018-03-24 14:46:31

ivj94 (383 views)
2018-03-24 14:43:53

Solater (63 views)
2018-03-17 05:04:08

nelsongames (110 views)
2018-03-05 17:56:34

Gornova (159 views)
2018-03-02 22:15:33

buddyBro (707 views)
2018-02-28 16:59:18

buddyBro (93 views)
2018-02-28 16:45:17
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!