t.KEYCODE_DPAD_CENTER){keyActual = GameCanvas.FIRE;keyAction = GameCanvas.FIRE;}else if(keyCode == KeyEvent.KEYCODE_SOFT_LEFT){keyActual = Globe.softKeyLeft;}else if(keyCode == KeyEvent.KEYCODE_SOFT_RIGHT){keyActual = Globe.softKeyRight;}}
Android里
常用的键1~9以及*、#、上下左右、确定键进行了映射,映射后为标准J2ME下的键值,接下来只需要把这些键值传递给原来J2ME里的接口即可,如下:
java代码:public boolean onTouchUp(MotionEvent e) {if (isEvent) {return isEvent;}pointerReleased((int)(e.getX()),(int)(e.getY()));return isEvent;}public boolean onTouchDown(MotionEvent e) {if (isEvent) {return isEvent;}pointerPressed((int)(e.getX()),(int)(e.getY()));return isEvent;}public boolean onKeyDown(int keyCode, KeyEvent e) {keyPreparse(keyCode,e);keyPressed(keyActual);return true;}public boolean onKeyUp(int keyCode, KeyEvent e) {keyPreparse(keyCode,e);keyReleased(keyActual);return true;}
前面是对触摸事件进行的映射处理,后面是对按键事件进行的处理,当然,如果有需要还可以实现getGameAction()接口,如下:
java代码:public int getKeyStates(){return keyActual;}public int getGameAction(int keyCode){return keyAction;}