J2ME: KEY_NUM1 status abrufen?!
Master99 31.05.2007 - 19:42 1504 8
Master99
verträumter realist
|
damn, ich such jetzt schon seit ner stunde nach ner lösung, aber die doku is mies (oder ich finds einfach nicht) und im internet beziehen sich alle code-examples auf LEFT_PRESSED usw.
also, wie kann ich in einem GameCanvas abrufen ob die tasten 1-9 gedrückt worden sind?
TIA
tom
|
Facetious
Addicted
|
Du musst dir die Methode keyPressed (int keyCode) überschreiben. dann kannst du ganz bequem zugreifen: if (keyCode == KEY_NUM2) {
// tu was
}
hth Facetious
|
Master99
verträumter realist
|
hab ich vergessen dazugeschrieben, wenn ich die keyPressed-Methode überschreibe bringt das leider auch nix -> die methode wird einfach nicht aufgerufen wenn ich ne nummerntaste drücke (funzt nur bei 2,4,5,6,8 -> also die tasten die durch up/down/fire usw. doppelbelegt sind!)
komisch ist das... und extrem lästig :-( dieser blödsinn raubt mir jetzt schon beinahe 2h...
btw.: neuste java version + wireless toolkit, neuste eclipse-version+j2me-plugin.
|
Facetious
Addicted
|
hmm... Strange.. bei mir funktionierts allerdings. Das was du beschreibst ist die Methode getGameAction. die liefert dir UP, DOWN, LEFT, RIGHT, FIRE. den restlichen Zahlenblock (0-9) solltest du einfach abfangen können wie ich oben geschrieben hab ein kleiner Auszug aus meinem funktionierenden Programm: public void keyPressed(int keyCode){
switch(this.getGameAction(keyCode)){
case FIRE:
System.out.println("FIRE was pressed");
break;
}
if (keyCode == KEY_NUM2) {
System.out.println("Pressed: 2");
}
}
Facetious
|
Master99
verträumter realist
|
mhm, strange triffts genau ja... folgendes verhalten herausgefunden @ keyPressed: die methode wird bei mir nur ausgeführt wenn ich auf 2,4,5,6 und 8 betätige... NICHT bei den restlichen nummerntasten und auch nicht bei UP,DOWN,LEFT, FIRE. dein beispielcode funktioniert dementsprechend zwar für die 2er-taste, aber nicht für fire... und 1... wenn ich mir jetzt die übliche variante anschau: int keyStates = getKeyStates();
System.out.println("Keystates: " + keyStates);
hier bekomm ich zwar codes bei 1,3,7,9 und den ActionButtons (UP..) ABER NICHT wenn ich 2,4,5,6,8 drücke... ne lösung wär also jetzt ne kombination aus keyPressed für 2,4... und keyStates für den rest... ABER des kanns doch nicht sein oder?! entweder bei mir hats was oder j2me is einfach ein großer sinnloser blödsinn...
Bearbeitet von Master99 am 01.06.2007, 21:25
|
Facetious
Addicted
|
funktionierts im emulator oder am handy selbst nicht?
versuch mal vielleicht statt der methode keyPressed die Methode keyReleased zu probieren.
Facetious
|
Master99
verträumter realist
|
simulator.... hab keine möglichkeit des auf meinem handy zu testen (ka datenkabel und handy ka bluetooth... weiß nitmoi ob des j2me kann *lol*)... werds morgen mal auf ner anderen maschine und nem handy testen.
|
Master99
verträumter realist
|
ok update von nem anderen computer (eclipse 3.1, java 1.5.0_09, WTK2.2) -> beide varianten funktionieren, sowohl bei keyPressed als auch bei den keyStates bekomm ich alle codes geliefert hier.... lustig... also liegts wohl an der "neueren" software auf meinem computer (eclipse 3.2, java 6 01, wtk2.5)
|
Facetious
Addicted
|
Problem gelöst? wenn ja, dann viel spaß noch ![:)](/images/smilies/smile.gif) mfg Facetious
|